|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Throwable java.lang.Exception org.objectweb.cjdbc.common.exceptions.driver.protocol.SerializableException
This class implements our own Exception chain, overriding Throwable as much as possible, relying on our own SerializableStackTraceElement instead of java.lang.StackStraceElement.
The main reason for this class is that java.lang.StackStraceElement is not serializable in JDK 1.4 (the constructor is missing, whereas 1.5 has it). Unfortunately we cannot override everything we would like to because StackTraceElement is also final and so SerializableStackTraceElement cannot subtype+override it.
Field Summary | |
private java.lang.String |
sqlState
|
private SerializableStackTraceElement[] |
stackTrace
|
private int |
vendorCode
|
Fields inherited from class java.lang.Exception |
|
Fields inherited from class java.lang.Throwable |
|
Constructor Summary | |
(package private) |
SerializableException(CJDBCInputStream in)
Constructs/reads a new SerializableException chain from the stream |
(package private) |
SerializableException(java.lang.String message,
SerializableException cause)
|
(package private) |
SerializableException(java.lang.Throwable start)
Converts a chain of Throwables to a chain of SerializableException . |
Method Summary | |
(package private) void |
convertStackTrace(java.lang.Throwable regularEx)
|
java.lang.Throwable |
fillInStackTrace()
Deprecated. |
int |
getErrorCode()
Returns the vendorCode value. |
SerializableStackTraceElement[] |
getSerializableStackTrace()
Returns our private stack trace, the one which is serializable. |
java.lang.String |
getSQLState()
Returns the sQLState value. |
java.lang.StackTraceElement[] |
getStackTrace()
Deprecated. |
java.lang.Throwable |
initCause(java.lang.Throwable cause)
Override super, adding an extra check because we do not want a mixed chain. |
void |
printStackTrace()
|
void |
printStackTrace(java.io.PrintStream s)
Prints this throwable and its backtrace to the specified print stream. |
void |
printStackTrace(java.io.PrintWriter s)
Prints this throwable and its backtrace to the specified print writer. |
void |
sendToStream(CJDBCOutputStream out)
Send the Serializable chain to the given stream. |
(package private) void |
setErrorCode(int vendorCode)
Sets the vendorCode value. |
void |
setSQLState(java.lang.String sQLState)
Sets the sQLState value. |
void |
setStackTrace(java.lang.StackTraceElement[] ignored)
Deprecated. |
private void |
throwsIfNotSerializable(java.lang.Throwable cause)
|
Methods inherited from class java.lang.Throwable |
getCause, getLocalizedMessage, getMessage, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private java.lang.String sqlState
private int vendorCode
private SerializableStackTraceElement[] stackTrace
Constructor Detail |
SerializableException(java.lang.String message, SerializableException cause)
Exception.Exception(java.lang.Throwable)
SerializableException(java.lang.Throwable start)
SerializableException
. The resulting chain has the same
length.
start
- head of chain to convertSerializableException(CJDBCInputStream in) throws java.io.IOException
Method Detail |
void convertStackTrace(java.lang.Throwable regularEx)
public void sendToStream(CJDBCOutputStream out) throws java.io.IOException
out
- destination stream
java.io.IOException
- stream errorpublic void printStackTrace()
Throwable.printStackTrace()
public void printStackTrace(java.io.PrintStream s)
s
- PrintStream
to use for outputpublic void printStackTrace(java.io.PrintWriter s)
s
- PrintWriter
to use for outputpublic java.lang.Throwable fillInStackTrace()
Throwable.fillInStackTrace()
public java.lang.StackTraceElement[] getStackTrace()
Throwable.getStackTrace()
public SerializableStackTraceElement[] getSerializableStackTrace()
public void setStackTrace(java.lang.StackTraceElement[] ignored)
Throwable.setStackTrace(java.lang.StackTraceElement[])
void setErrorCode(int vendorCode)
vendorCode
- The vendorCode to set.public int getErrorCode()
public void setSQLState(java.lang.String sQLState)
sQLState
- The sQLState to set.public java.lang.String getSQLState()
public java.lang.Throwable initCause(java.lang.Throwable cause)
Throwable.initCause(java.lang.Throwable)
private void throwsIfNotSerializable(java.lang.Throwable cause) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |