All Implemented Interfaces:
Serializable
Direct Known Subclasses:
DatabindException, 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 IOExceptions 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:
  • Field Details

  • 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