Package com.fasterxml.jackson.core
Class JsonProcessingException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.io.IOException
-
- com.fasterxml.jackson.core.JsonProcessingException
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
JsonGenerationException
,StreamReadException
public class JsonProcessingException extends IOException
Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems. RegularIOException
s will be passed through as is. Sub-class ofIOException
for convenience.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected JsonLocation
_location
-
Constructor Summary
Constructors Modifier Constructor Description protected
JsonProcessingException(String msg)
protected
JsonProcessingException(String msg, JsonLocation loc)
protected
JsonProcessingException(String msg, JsonLocation loc, Throwable rootCause)
protected
JsonProcessingException(String msg, Throwable rootCause)
protected
JsonProcessingException(Throwable rootCause)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearLocation()
Method that allows to remove context information from this exception's message.JsonLocation
getLocation()
String
getMessage()
Default method overridden so that we can add location informationprotected String
getMessageSuffix()
Accessor that sub-classes can override to append additional information right after the main message, but before source location information.String
getOriginalMessage()
Method that allows accessing the original "message" argument, without additional decorations (like location information) that overriddengetMessage()
adds.Object
getProcessor()
Method that allows accessing underlying processor that triggered this exception; typically eitherJsonParser
orJsonGenerator
for exceptions that originate from streaming API.String
toString()
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
-
-
-
Field Detail
-
_location
protected JsonLocation _location
-
-
Constructor Detail
-
JsonProcessingException
protected JsonProcessingException(String msg, JsonLocation loc, Throwable rootCause)
-
JsonProcessingException
protected JsonProcessingException(String msg)
-
JsonProcessingException
protected JsonProcessingException(String msg, JsonLocation loc)
-
JsonProcessingException
protected JsonProcessingException(Throwable rootCause)
-
-
Method Detail
-
getLocation
public JsonLocation getLocation()
-
clearLocation
public void clearLocation()
Method that allows to remove context information from this exception's message. Useful when you are parsing security-sensitive data and don't want original data excerpts to be present in Jackson parser error messages.- Since:
- 2.9
-
getOriginalMessage
public String getOriginalMessage()
Method that allows accessing the original "message" argument, without additional decorations (like location information) that overriddengetMessage()
adds.- Since:
- 2.1
-
getProcessor
public Object getProcessor()
Method that allows accessing underlying processor that triggered this exception; typically eitherJsonParser
orJsonGenerator
for exceptions that originate from streaming API. Note that it is possible that `null` may be returned if code throwing exception either has no access to processor; or has not been retrofitted to set it; this means that caller needs to take care to check for nulls. Subtypes override this method with co-variant return type, for more type-safe access.- Returns:
- Originating processor, if available; null if not.
- Since:
- 2.7
-
getMessageSuffix
protected String getMessageSuffix()
Accessor that sub-classes can override to append additional information right after the main message, but before source location information.
-
getMessage
public String getMessage()
Default method overridden so that we can add location information- Overrides:
getMessage
in classThrowable
-
-