Exception thrown when an error status code is detected in an HTTP response to a Google API that
uses the JSON format, using the format specified in Error Responses.
Callers should call HttpResponse#disconnect when the returned HTTP response object
is no longer needed. However, HttpResponse#disconnect does not have to be called if the
response stream is properly closed. Example usage:
HttpResponseresponse=GoogleJsonResponseException.execute(jsonFactory,request);try{// process the HTTP response object}finally{response.disconnect();}
If there is a JSON error response, it is parsed using GoogleJsonError, which can be
inspected using #getDetails(). Otherwise, the full response content is read and
included in the exception message.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Exception GoogleJsonResponseException (2.8.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.1 (latest)](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.8.0](/java/docs/reference/google-api-client/2.8.0/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.7.2](/java/docs/reference/google-api-client/2.7.2/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.6.0](/java/docs/reference/google-api-client/2.6.0/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.5.1](/java/docs/reference/google-api-client/2.5.1/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.4.1](/java/docs/reference/google-api-client/2.4.1/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.1.2](/java/docs/reference/google-api-client/2.1.2/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [2.0.1](/java/docs/reference/google-api-client/2.0.1/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [1.35.2](/java/docs/reference/google-api-client/1.35.2/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [1.34.1](/java/docs/reference/google-api-client/1.34.1/com.google.api.client.googleapis.json.GoogleJsonResponseException)\n- [1.33.4](/java/docs/reference/google-api-client/1.33.4/com.google.api.client.googleapis.json.GoogleJsonResponseException) \n\n public class GoogleJsonResponseException extends HttpResponseException\n\nException thrown when an error status code is detected in an HTTP response to a Google API that\nuses the JSON format, using the format specified in [Error Responses](https://cloud.google.com/apis/design/errors).\n\nTo execute a request, call [#execute(JsonFactory, HttpRequest)](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException#com_google_api_client_googleapis_json_GoogleJsonResponseException_execute_com_google_api_client_json_JsonFactory_com_google_api_client_http_HttpRequest_). This will throw a\n[GoogleJsonResponseException](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException) on an error response. To get the structured details, use\n[#getDetails()](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException#com_google_api_client_googleapis_json_GoogleJsonResponseException_getDetails__). \n\n\n static void executeShowingError(JsonFactory factory, HttpRequest request) throws IOException {\n try {\n GoogleJsonResponseException.execute(factory, request);\n } catch (GoogleJsonResponseException e) {\n System.err.println(e.getDetails());\n }\n }\n \nInherited Members\n-----------------\n\ncom.google.api.client.http.HttpResponseException.computeMessageBuffer(com.google.api.client.http.HttpResponse) \ncom.google.api.client.http.HttpResponseException.getAttemptCount() \ncom.google.api.client.http.HttpResponseException.getContent() \ncom.google.api.client.http.HttpResponseException.getHeaders() \ncom.google.api.client.http.HttpResponseException.getStatusCode() \ncom.google.api.client.http.HttpResponseException.getStatusMessage() \ncom.google.api.client.http.HttpResponseException.isSuccessStatusCode() \n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-) \n[Throwable.addSuppressed(Throwable)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#addSuppressed-java.lang.Throwable-) \n[Throwable.fillInStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#fillInStackTrace--) \n[Throwable.getCause()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getCause--) \n[Throwable.getLocalizedMessage()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getLocalizedMessage--) \n[Throwable.getMessage()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getMessage--) \n[Throwable.getStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getStackTrace--) \n[Throwable.getSuppressed()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getSuppressed--) \n[Throwable.initCause(Throwable)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#initCause-java.lang.Throwable-) \n[Throwable.printStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace--) \n[Throwable.printStackTrace(PrintStream)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace-java.io.PrintStream-) \n[Throwable.printStackTrace(PrintWriter)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace-java.io.PrintWriter-) \n[Throwable.setStackTrace(StackTraceElement\\[\\])](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#setStackTrace-java.lang.StackTraceElement[]-) \n[Throwable.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#toString--)\n\nStatic Methods\n--------------\n\n### execute(JsonFactory jsonFactory, HttpRequest request)\n\n public static HttpResponse execute(JsonFactory jsonFactory, HttpRequest request)\n\nExecutes an HTTP request using [HttpRequest#execute()](https://cloud.google.com/java/docs/reference/google-http-client/latest/com.google.api.client.http.HttpRequest.html#com_google_api_client_http_HttpRequest_execute_), but throws a [GoogleJsonResponseException](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException) on error instead of HttpResponseException.\n\nCallers should call HttpResponse#disconnect when the returned HTTP response object\nis no longer needed. However, HttpResponse#disconnect does not have to be called if the\nresponse stream is properly closed. Example usage: \n\n\n HttpResponse response = GoogleJsonResponseException.execute(jsonFactory, request);\n try {\n // process the HTTP response object\n } finally {\n response.disconnect();\n }\n \n### from(JsonFactory jsonFactory, HttpResponse response)\n\n public static GoogleJsonResponseException from(JsonFactory jsonFactory, HttpResponse response)\n\nReturns a new instance of [GoogleJsonResponseException](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException).\n\nIf there is a JSON error response, it is parsed using [GoogleJsonError](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonError), which can be\ninspected using [#getDetails()](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.json.GoogleJsonResponseException#com_google_api_client_googleapis_json_GoogleJsonResponseException_getDetails__). Otherwise, the full response content is read and\nincluded in the exception message.\n\nConstructors\n------------\n\n### GoogleJsonResponseException(HttpResponseException.Builder builder, GoogleJsonError details)\n\n public GoogleJsonResponseException(HttpResponseException.Builder builder, GoogleJsonError details)\n\nMethods\n-------\n\n### getDetails()\n\n public final GoogleJsonError getDetails()\n\nReturns the Google JSON error details or `null` for none (for example if response is not\nJSON)."]]