/*
 * Copyright (C) 2008 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.gson;

This exception is raised if there is a serious issue that occurs during parsing of a Json string. One of the main usages for this class is for the Gson infrastructure. If the incoming Json is bad/malicious, an instance of this exception is raised.

This exception is a RuntimeException because it is exposed to the client. Using a RuntimeException avoids bad coding practices on the client side where they catch the exception and do nothing. It is often the case that you want to blow up if there is a parsing error (i.e. often clients do not know how to recover from a JsonParseException.

Author:Inderjeet Singh, Joel Leitch
/** * This exception is raised if there is a serious issue that occurs during parsing of a Json * string. One of the main usages for this class is for the Gson infrastructure. If the incoming * Json is bad/malicious, an instance of this exception is raised. * * <p>This exception is a {@link RuntimeException} because it is exposed to the client. Using a * {@link RuntimeException} avoids bad coding practices on the client side where they catch the * exception and do nothing. It is often the case that you want to blow up if there is a parsing * error (i.e. often clients do not know how to recover from a {@link JsonParseException}.</p> * * @author Inderjeet Singh * @author Joel Leitch */
public class JsonParseException extends RuntimeException { static final long serialVersionUID = -4086729973971783390L;
Creates exception with the specified message. If you are wrapping another exception, consider using JsonParseException(String, Throwable) instead.
Params:
  • msg – error message describing a possible cause of this exception.
/** * Creates exception with the specified message. If you are wrapping another exception, consider * using {@link #JsonParseException(String, Throwable)} instead. * * @param msg error message describing a possible cause of this exception. */
public JsonParseException(String msg) { super(msg); }
Creates exception with the specified message and cause.
Params:
  • msg – error message describing what happened.
  • cause – root exception that caused this exception to be thrown.
/** * Creates exception with the specified message and cause. * * @param msg error message describing what happened. * @param cause root exception that caused this exception to be thrown. */
public JsonParseException(String msg, Throwable cause) { super(msg, cause); }
Creates exception with the specified cause. Consider using JsonParseException(String, Throwable) instead if you can describe what happened.
Params:
  • cause – root exception that caused this exception to be thrown.
/** * Creates exception with the specified cause. Consider using * {@link #JsonParseException(String, Throwable)} instead if you can describe what happened. * * @param cause root exception that caused this exception to be thrown. */
public JsonParseException(Throwable cause) { super(cause); } }