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:
  JsonGenerationException, StreamReadException

    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`

See Also:
  Serialized Form

### Field Summary

Fields
`protected JsonLocation` `_location`

### Constructor Summary

Constructors
`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
`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 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(String msg,
                                      Throwable rootCause)

#### JsonProcessingException

    protected JsonProcessingException(Throwable rootCause)

### Method Detail

#### 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`