Package 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.

Added in 2.10 to eventually replace `JsonParseException`.

Since:
  2.10
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`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
Modifier
Constructor
Description
`protected`
`StreamReadException(JsonParser p, String msg)`
`protected`
`StreamReadException(JsonParser p, String msg, JsonLocation loc)`
`protected`
`StreamReadException(JsonParser p, String msg, JsonLocation loc, Throwable rootCause)`
`protected`
`StreamReadException(JsonParser p, String msg, Throwable root)`
`protected`
`StreamReadException(String msg)`
`protected`
`StreamReadException(String msg, JsonLocation loc, Throwable rootCause)`

## Method Summary

Modifier and Type
Method
Description
`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 payload)`
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 Details

### _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 Details

### StreamReadException

protected StreamReadException(JsonParser p, String msg)

### StreamReadException

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

### StreamReadException

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

### StreamReadException

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

### StreamReadException

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

### StreamReadException

protected StreamReadException(String msg)

## Method Details

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

Parameters:
  `p` - Parser instance to assign to this exception
Returns:
  This exception instance to allow call chaining

### withRequestPayload

public abstract StreamReadException withRequestPayload(RequestPayload payload)
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.

Parameters:
  `payload` - Payload to assign to this exception
Returns:
  This exception instance to allow call chaining

### 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`
Returns:
  Original `message` preceded by optional prefix and followed by location information, message and location information separated by a linefeed