Package com.fasterxml.jackson.core

# Class JsonProcessingException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
com.fasterxml.jackson.core.JacksonException
com.fasterxml.jackson.core.JsonProcessingException

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `StreamConstraintsException`, `StreamReadException`, `StreamWriteException`

public class JsonProcessingException extends JacksonException
Intermediate base class for all problems encountered when processing (parsing, generating) JSON content that are not pure I/O problems. Regular `IOException`s will be passed through as is. Sub-class of `IOException` for convenience.

Since Jackson 2.12 extends intermediate `JacksonException` type instead of directly extending `IOException`.

Since Jackson 2.16, handles its content as configured using `ErrorReportConfiguration`.

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

Modifier and Type
Method
Description
`void`
`clearLocation()`
Method that allows to remove context information from this exception's message.
`JsonLocation`
`getLocation()`
Accessor for location information related to position within input or output (depending on operation), if available; if not available may return `null`.
`String`
`getMessage()`
Default implementation overridden so that we can add location information
`protected 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 overridden `getMessage()` adds.
`Object`
`getProcessor()`
Method that allows accessing underlying processor that triggered this exception; typically either `JsonParser` or `JsonGenerator` 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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### _location

protected JsonLocation _location

## Constructor Details

### JsonProcessingException

protected JsonProcessingException(String msg, JsonLocation loc, Throwable rootCause)

### JsonProcessingException

protected JsonProcessingException(String msg)

### JsonProcessingException

protected JsonProcessingException(String msg, JsonLocation loc)

### JsonProcessingException

protected JsonProcessingException(String msg, Throwable rootCause)

### JsonProcessingException

protected JsonProcessingException(Throwable rootCause)

## Method Details

### getLocation

public JsonLocation getLocation()
Description copied from class: `JacksonException`
Accessor for location information related to position within input or output (depending on operation), if available; if not available may return `null`.

Accuracy of location information depends on backend (format) as well as (in some cases) operation being performed.

Specified by:
  `getLocation` in class `JacksonException`
Returns:
  Location in input or output that triggered the problem reported, if available; `null` otherwise.

### 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 overridden `getMessage()` adds.

Specified by:
  `getOriginalMessage` in class `JacksonException`
Returns:
  Original message passed in constructor
Since:
  2.1

### getProcessor

public Object getProcessor()
Method that allows accessing underlying processor that triggered this exception; typically either `JsonParser` or `JsonGenerator` 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.

Specified by:
  `getProcessor` in class `JacksonException`
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.

Returns:
  Message suffix assigned, if any; `null` if none

### getMessage

public String getMessage()
Default implementation overridden so that we can add location information

Overrides:
  `getMessage` in class `Throwable`
Returns:
  Original `message` preceded by optional prefix and followed by location information, message and location information separated by a linefeed

### toString

public String toString()

Overrides:
  `toString` in class `Throwable`