com.fasterxml.jackson.databind

## Class JsonMappingException

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

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  InvalidDefinitionException, MismatchedInputException, UnresolvedForwardReference, ValueInstantiationException

    public class JsonMappingException
    extends com.fasterxml.jackson.core.JsonProcessingException

Checked exception used to signal fatal problems with mapping of content, distinct from low-level I/O problems (signaled using simple `IOException`s) or data encoding/decoding problems (signaled with `JsonParseException`, `JsonGenerationException`).

One additional feature is the ability to denote relevant path of references (during serialization/deserialization) to help in troubleshooting.

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`static class` `JsonMappingException.Reference` Simple bean class used to contain references.

### Field Summary

Fields
`protected LinkedList<JsonMappingException.Reference>` `_path` Path through which problem that triggering throwing of this exception was reached.
`protected Closeable` `_processor` Underlying processor (`JsonParser` or `JsonGenerator`), if known.

### Fields inherited from class com.fasterxml.jackson.core.JsonProcessingException

`_location`

### Constructor Summary

Constructors
Constructor and Description
`JsonMappingException(Closeable processor, String msg)`
`JsonMappingException(Closeable processor, String msg, com.fasterxml.jackson.core.JsonLocation loc)`
`JsonMappingException(Closeable processor, String msg, Throwable problem)`
`JsonMappingException(String msg)` Deprecated. Since 2.7 Use variant that takes `JsonParser` instead
`JsonMappingException(String msg, com.fasterxml.jackson.core.JsonLocation loc)` Deprecated. Since 2.7 Use variant that takes `JsonParser` instead
`JsonMappingException(String msg, com.fasterxml.jackson.core.JsonLocation loc, Throwable rootCause)` Deprecated. Since 2.7 Use variant that takes `JsonParser` instead
`JsonMappingException(String msg, Throwable rootCause)` Deprecated. Since 2.7 Use variant that takes `JsonParser` instead

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected void` `_appendPathDesc(StringBuilder sb)`
`protected String` `_buildMessage()`
`static JsonMappingException` `from(DeserializationContext ctxt, String msg)`
`static JsonMappingException` `from(DeserializationContext ctxt, String msg, Throwable t)`
`static JsonMappingException` `from(com.fasterxml.jackson.core.JsonGenerator g, String msg)`
`static JsonMappingException` `from(com.fasterxml.jackson.core.JsonGenerator g, String msg, Throwable problem)`
`static JsonMappingException` `from(com.fasterxml.jackson.core.JsonParser p, String msg)`
`static JsonMappingException` `from(com.fasterxml.jackson.core.JsonParser p, String msg, Throwable problem)`
`static JsonMappingException` `from(SerializerProvider ctxt, String msg)`
`static JsonMappingException` `from(SerializerProvider ctxt, String msg, Throwable problem)`
`static JsonMappingException` `fromUnexpectedIOE(IOException src)` Factory method used when "upgrading" an `IOException` into `JsonMappingException`: usually only needed to comply with a signature.
`String` `getLocalizedMessage()`
`String` `getMessage()` Method is overridden so that we can properly inject description of problem path, if such is defined.
`List<JsonMappingException.Reference>` `getPath()` Method for accessing full structural path within type hierarchy down to problematic property.
`String` `getPathReference()` Method for accessing description of path that lead to the problem that triggered this exception
`StringBuilder` `getPathReference(StringBuilder sb)`
`Object` `getProcessor()`
`void` `prependPath(JsonMappingException.Reference r)`
`void` `prependPath(Object referrer, int index)` Method called to prepend a reference information in front of current path
`void` `prependPath(Object referrer, String fieldName)` Method called to prepend a reference information in front of current path
`String` `toString()`
`static JsonMappingException` `wrapWithPath(Throwable src, JsonMappingException.Reference ref)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.
`static JsonMappingException` `wrapWithPath(Throwable src, Object refFrom, int index)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.
`static JsonMappingException` `wrapWithPath(Throwable src, Object refFrom, String refFieldName)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.

### Methods inherited from class com.fasterxml.jackson.core.JsonProcessingException

`clearLocation, getLocation, getMessageSuffix, getOriginalMessage`

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

`addSuppressed, fillInStackTrace, getCause, 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

#### _path

    protected LinkedList<JsonMappingException.Reference> _path

Path through which problem that triggering throwing of this exception was reached.

#### _processor

    protected transient Closeable _processor

Underlying processor (`JsonParser` or `JsonGenerator`), if known.

NOTE: typically not serializable hence `transient`

Since:
  2.7

### Constructor Detail

#### JsonMappingException

    @Deprecated
    public JsonMappingException(String msg)

Deprecated. Since 2.7 Use variant that takes `JsonParser` instead

#### JsonMappingException

    @Deprecated
    public JsonMappingException(String msg,
                                            Throwable rootCause)

Deprecated. Since 2.7 Use variant that takes `JsonParser` instead

#### JsonMappingException

    @Deprecated
    public JsonMappingException(String msg,
                                            com.fasterxml.jackson.core.JsonLocation loc)

Deprecated. Since 2.7 Use variant that takes `JsonParser` instead

#### JsonMappingException

    @Deprecated
    public JsonMappingException(String msg,
                                            com.fasterxml.jackson.core.JsonLocation loc,
                                            Throwable rootCause)

Deprecated. Since 2.7 Use variant that takes `JsonParser` instead

#### JsonMappingException

    public JsonMappingException(Closeable processor,
                                String msg)

Since:
  2.7

#### JsonMappingException

    public JsonMappingException(Closeable processor,
                                String msg,
                                Throwable problem)

Since:
  2.7

#### JsonMappingException

    public JsonMappingException(Closeable processor,
                                String msg,
                                com.fasterxml.jackson.core.JsonLocation loc)

Since:
  2.7

### Method Detail

#### from

    public static JsonMappingException from(com.fasterxml.jackson.core.JsonParser p,
                                            String msg)

Since:
  2.7

#### from

    public static JsonMappingException from(com.fasterxml.jackson.core.JsonParser p,
                                            String msg,
                                            Throwable problem)

Since:
  2.7

#### from

    public static JsonMappingException from(com.fasterxml.jackson.core.JsonGenerator g,
                                            String msg)

Since:
  2.7

#### from

    public static JsonMappingException from(com.fasterxml.jackson.core.JsonGenerator g,
                                            String msg,
                                            Throwable problem)

Since:
  2.7

#### from

    public static JsonMappingException from(DeserializationContext ctxt,
                                            String msg)

Since:
  2.7

#### from

    public static JsonMappingException from(DeserializationContext ctxt,
                                            String msg,
                                            Throwable t)

Since:
  2.7

#### from

    public static JsonMappingException from(SerializerProvider ctxt,
                                            String msg)

Since:
  2.7

#### from

    public static JsonMappingException from(SerializerProvider ctxt,
                                            String msg,
                                            Throwable problem)

Since:
  2.7

#### fromUnexpectedIOE

    public static JsonMappingException fromUnexpectedIOE(IOException src)

Factory method used when "upgrading" an `IOException` into `JsonMappingException`: usually only needed to comply with a signature.

NOTE: since 2.9 should usually NOT be used on input-side (deserialization) exceptions; instead use method(s) of `InputMismatchException`

Since:
  2.1

#### wrapWithPath

    public static JsonMappingException wrapWithPath(Throwable src,
                                                    Object refFrom,
                                                    String refFieldName)

Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information. This version of method is called when the reference is through a non-indexed object, such as a Map or POJO/bean.

#### wrapWithPath

    public static JsonMappingException wrapWithPath(Throwable src,
                                                    Object refFrom,
                                                    int index)

Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information. This version of method is called when the reference is through an index, which happens with arrays and Collections.

#### wrapWithPath

    public static JsonMappingException wrapWithPath(Throwable src,
                                                    JsonMappingException.Reference ref)

Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.

#### getPath

    public List<JsonMappingException.Reference> getPath()

Method for accessing full structural path within type hierarchy down to problematic property.

#### getPathReference

    public String getPathReference()

Method for accessing description of path that lead to the problem that triggered this exception

#### getPathReference

    public StringBuilder getPathReference(StringBuilder sb)

#### prependPath

    public void prependPath(Object referrer,
                            String fieldName)

Method called to prepend a reference information in front of current path

#### prependPath

    public void prependPath(Object referrer,
                            int index)

Method called to prepend a reference information in front of current path

#### prependPath

    public void prependPath(JsonMappingException.Reference r)

#### getProcessor

    public Object getProcessor()

Overrides:
  `getProcessor` in class `com.fasterxml.jackson.core.JsonProcessingException`

#### getLocalizedMessage

    public String getLocalizedMessage()

Overrides:
  `getLocalizedMessage` in class `Throwable`

#### getMessage

    public String getMessage()

Method is overridden so that we can properly inject description of problem path, if such is defined.

Overrides:
  `getMessage` in class `com.fasterxml.jackson.core.JsonProcessingException`

#### _buildMessage

    protected String _buildMessage()

#### toString

    public String toString()

Overrides:
  `toString` in class `com.fasterxml.jackson.core.JsonProcessingException`

#### _appendPathDesc

    protected void _appendPathDesc(StringBuilder sb)