com.fasterxml.jackson.core.exc

## Class StreamReadException

- 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.core.exc.StreamReadException

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  InputCoercionException, JsonParseException

    public abstract class StreamReadException
    extends JsonProcessingException

Intermediate base class for all read-side streaming processing problems, including parsing and input value coercion problems.

Since:
  2.10
See Also:
  Serialized Form

### Field Summary

Fields
`protected JsonParser` `_processor`
`protected RequestPayload` `_requestPayload` Optional payload that can be assigned to pass along for error reporting or handling purposes.

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

`_location`

### Constructor Summary

Constructors
`` `StreamReadException(JsonParser p, String msg)`
`` `StreamReadException(JsonParser p, String msg, JsonLocation loc)`
`` `StreamReadException(JsonParser p, String msg, Throwable root)`
`protected` `StreamReadException(String msg, JsonLocation loc, Throwable rootCause)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`String` `getMessage()` Overriding the getMessage() to include the request body
`JsonParser` `getProcessor()` Method that allows accessing underlying processor that triggered this exception; typically either `JsonParser` or `JsonGenerator` for exceptions that originate from streaming API.
`RequestPayload` `getRequestPayload()` Method that may be called to find payload that was being parsed, if one was specified for parser that threw this Exception.
`String` `getRequestPayloadAsString()` The method returns the String representation of the request payload if one was specified for parser that threw this Exception.
`abstract StreamReadException` `withParser(JsonParser p)` Fluent method that may be used to assign originating `JsonParser`, to be accessed using `getProcessor()`.
`abstract StreamReadException` `withRequestPayload(RequestPayload p)` Fluent method that may be used to assign payload to this exception, to let recipient access it for diagnostics purposes.

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

`clearLocation, getLocation, getMessageSuffix, getOriginalMessage, 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

#### _processor

    protected transient JsonParser _processor

#### _requestPayload

    protected RequestPayload _requestPayload

Optional payload that can be assigned to pass along for error reporting or handling purposes. Core streaming parser implementations DO NOT initialize this; it is up to using applications and frameworks to populate it.

### Constructor Detail

#### StreamReadException

    public StreamReadException(JsonParser p,
                               String msg)

#### StreamReadException

    public StreamReadException(JsonParser p,
                               String msg,
                               Throwable root)

#### StreamReadException

    public StreamReadException(JsonParser p,
                               String msg,
                               JsonLocation loc)

#### StreamReadException

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

### Method Detail

#### withParser

    public abstract StreamReadException withParser(JsonParser p)

Fluent method that may be used to assign originating `JsonParser`, to be accessed using `getProcessor()`.

NOTE: `this` instance is modified and no new instance is constructed.

#### withRequestPayload

    public abstract StreamReadException withRequestPayload(RequestPayload p)

Fluent method that may be used to assign payload to this exception, to let recipient access it for diagnostics purposes.

NOTE: `this` instance is modified and no new instance is constructed.

#### getProcessor

    public JsonParser getProcessor()

Description copied from class: `JsonProcessingException`
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.

Overrides:
  `getProcessor` in class `JsonProcessingException`
Returns:
  Originating processor, if available; null if not.

#### getRequestPayload

    public RequestPayload getRequestPayload()

Method that may be called to find payload that was being parsed, if one was specified for parser that threw this Exception.

Returns:
  request body, if payload was specified; `null` otherwise

#### getRequestPayloadAsString

    public String getRequestPayloadAsString()

The method returns the String representation of the request payload if one was specified for parser that threw this Exception.

Returns:
  request body as String, if payload was specified; `null` otherwise

#### getMessage

    public String getMessage()

Overriding the getMessage() to include the request body

Overrides:
  `getMessage` in class `JsonProcessingException`