Class JsonProcessingException

  • All Implemented Interfaces:
    java.io.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 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:
    Serialized Form
    • 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()
      Accessor for location information related to position within input or output (depending on operation), if available; if not available may return null.
      java.lang.String getMessage()
      Default implementation overridden so that we can add location information
      protected java.lang.String getMessageSuffix()
      Accessor that sub-classes can override to append additional information right after the main message, but before source location information.
      java.lang.String getOriginalMessage()
      Method that allows accessing the original "message" argument, without additional decorations (like location information) that overridden getMessage() adds.
      java.lang.Object getProcessor()
      Method that allows accessing underlying processor that triggered this exception; typically either JsonParser or JsonGenerator for exceptions that originate from streaming API.
      java.lang.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
    • Constructor Detail

      • JsonProcessingException

        protected JsonProcessingException​(java.lang.String msg,
                                          JsonLocation loc,
                                          java.lang.Throwable rootCause)
      • JsonProcessingException

        protected JsonProcessingException​(java.lang.String msg)
      • JsonProcessingException

        protected JsonProcessingException​(java.lang.String msg,
                                          JsonLocation loc)
      • JsonProcessingException

        protected JsonProcessingException​(java.lang.String msg,
                                          java.lang.Throwable rootCause)
      • JsonProcessingException

        protected JsonProcessingException​(java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String getMessage()
        Default implementation overridden so that we can add location information
        Overrides:
        getMessage in class java.lang.Throwable
        Returns:
        Original message preceded by optional prefix and followed by location information, message and location information separated by a linefeed
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Throwable