public class exceptionstate extends contentbase
This object contains embedded information about a serialization that failed, throwing an exception. It includes the actual exception object (which was serialized by the ObjectOutputStream) and the raw bytes of the stream data that was read before the exception was recognized.
For the mechanics of exception serialization, see the Object Serialization Specification.
Modifier and Type | Field and Description |
---|---|
content |
exceptionobj
The serialized exception object.
|
byte[] |
streamdata
An array of bytes representing the data read before the exception was encountered.
|
handle, isExceptionObject, type
Constructor and Description |
---|
exceptionstate(content exobj,
byte[] data)
Consturctor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
toString() |
getHandle, getType, isExceptionObject, setIsExceptionObject, toJson, validate
public content exceptionobj
public byte[] streamdata
An array of bytes representing the data read before the exception was encountered. Generally, this starts with the first "tc" byte (cf. protocol spec), which is an ObjectStreamConstants value and ends with 0x78 (the tc byte corresponding to TC_EXCEPTION). However, this isn't guaranteed; it may include *more* data.
In other words, this is the incomplete object that was being written while the exception was caught by the ObjectOutputStream. It is not likely to be cleanly parseable.
The uncertainty centers around the fact that this data is gathered by jdeserialize using a LoggerInputStream, and the underlying DataInputStream may have read more than is necessary. In all tests conducted so far, the above description is accurate.
public exceptionstate(content exobj, byte[] data)
exobj
- the serialized exception objectdata
- the array of stream bytes that led up to the exception