Package org.apache.derby.impl.jdbc
Class SQLExceptionFactory
- java.lang.Object
-
- org.apache.derby.iapi.jdbc.ExceptionFactory
-
- org.apache.derby.impl.jdbc.SQLExceptionFactory
-
public class SQLExceptionFactory extends ExceptionFactory
Class to create SQLException
-
-
Constructor Summary
Constructors Constructor Description SQLExceptionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.sql.SQLException
getSQLException(java.lang.String message, java.lang.String messageId, java.sql.SQLException next, int severity, java.lang.Throwable t, java.lang.Object... args)
method to construct SQLException version specific drivers can overload this method to create version specific exceptionsjava.sql.SQLException
getSQLException(java.lang.String messageId, java.sql.SQLException next, java.lang.Throwable cause, java.lang.Object... args)
Construct an SQLException whose message and severity are derived from the message id.private StandardException
wrapArgsForTransportAcrossDRDA(java.lang.String messageId, java.lang.Throwable cause, java.lang.Object[] args)
The following method helps handle DERBY-1178.-
Methods inherited from class org.apache.derby.iapi.jdbc.ExceptionFactory
getInstance
-
-
-
-
Method Detail
-
getSQLException
public java.sql.SQLException getSQLException(java.lang.String message, java.lang.String messageId, java.sql.SQLException next, int severity, java.lang.Throwable t, java.lang.Object... args)
method to construct SQLException version specific drivers can overload this method to create version specific exceptions
This implementation creates JDBC 4 exceptions.
SQLSTATE CLASS (prefix) Exception 0A java.sql.SQLFeatureNotSupportedException 08 java.sql.SQLNonTransientConnectionException 22 java.sql.SQLDataException 28 java.sql.SQLInvalidAuthorizationSpecException 40 java.sql.SQLTransactionRollbackException 42 java.sql.SQLSyntaxErrorException
- Specified by:
getSQLException
in classExceptionFactory
- Parameters:
message
- the exception messagemessageId
- the message idnext
- the next SQLExceptionseverity
- the severity of the exceptiont
- the cause of the exceptionargs
- the message arguments- Returns:
- an SQLException
-
getSQLException
public final java.sql.SQLException getSQLException(java.lang.String messageId, java.sql.SQLException next, java.lang.Throwable cause, java.lang.Object... args)
Construct an SQLException whose message and severity are derived from the message id.- Specified by:
getSQLException
in classExceptionFactory
- Parameters:
messageId
- the message idnext
- the next SQLExceptioncause
- the cause of the exceptionargs
- the message arguments- Returns:
- an SQLException
-
wrapArgsForTransportAcrossDRDA
private StandardException wrapArgsForTransportAcrossDRDA(java.lang.String messageId, java.lang.Throwable cause, java.lang.Object[] args)
The following method helps handle DERBY-1178. The problem is that we may need to serialize our final SQLException across the DRDA network layer. That serialization involves some clever encoding of the Derby messageID and arguments. Unfortunately, once we create one of the JDBC4-specific subclasses of SQLException, we lose the messageID and args. This method creates a dummy StandardException which preserves that information, unless the cause is already a StandardException which contains the necessary information for serializing the exception.
-
-