org.apache.derby.client.am
Class SqlException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by org.apache.derby.client.am.SqlException
All Implemented Interfaces:
java.io.Serializable, Diagnosable
Direct Known Subclasses:
ColumnTypeConversionException, DisconnectException, LossOfPrecisionConversionException, SqlWarning

public class SqlException
extends java.lang.Exception
implements Diagnosable

See Also:
Serialized Form

Field Summary
private  java.lang.String batchPositionLabel_
           
protected  java.lang.String cachedMessage_
           
protected  java.lang.String causeString_
           
static java.lang.String CLIENT_MESSAGE_RESOURCE_NAME
           
protected static int DEFAULT_ERRCODE
           
protected  int errorcode_
           
protected static SQLExceptionFactory exceptionFactory
           
protected  java.lang.String message_
           
private  int messageNumber_
          Tells which of the messages in the SQLCA this exception refers to (counting from 0).
private static MessageUtil msgutil_
          The message utility instance we use to find messages It's primed with the name of the client message bundle so that it knows to look there if the message isn't found in the shared message bundle.
protected  SqlException nextException_
           
protected  Sqlca sqlca_
           
protected  java.lang.String sqlstate_
           
protected  java.lang.Throwable throwable_
           
protected  java.sql.SQLException wrappedException_
          The wrapped SQLException, if one exists
 
Constructor Summary
  SqlException(LogWriter logwriter, ClientMessageId msgid)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object arg1)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object[] args)
           
  SqlException(LogWriter logWriter, ClientMessageId msgid, java.lang.Object[] args, SqlCode sqlcode)
           
  SqlException(LogWriter logWriter, ClientMessageId msgid, java.lang.Object[] args, SqlCode sqlcode, java.lang.Throwable t)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object[] args, java.lang.Throwable cause)
          Create a SqlException.
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object arg1, java.lang.Object arg2)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
           
  SqlException(LogWriter logWriter, ClientMessageId msgid, java.lang.Object arg1, java.lang.Object arg2, SqlCode sqlcode)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object arg1, java.lang.Object arg2, java.lang.Throwable cause)
           
  SqlException(LogWriter logWriter, ClientMessageId msgid, java.lang.Object arg1, SqlCode sqlcode)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Object arg1, java.lang.Throwable cause)
           
  SqlException(LogWriter logWriter, ClientMessageId msgid, SqlCode sqlcode)
           
  SqlException(LogWriter logwriter, ClientMessageId msgid, java.lang.Throwable cause)
           
  SqlException(LogWriter logWriter, Sqlca sqlca)
          Create an exception for an engine generated error.
protected SqlException(LogWriter logWriter, java.lang.String reason, java.lang.String sqlState, int errorCode)
           
protected SqlException(LogWriter logWriter, java.lang.Throwable throwable, java.lang.String reason, java.lang.String sqlState, int errorCode)
           
private SqlException(Sqlca sqlca, int number, boolean chain)
          Create one of the exceptions in an exception chain generated by the engine.
  SqlException(java.sql.SQLException wrapme)
          Wrap a SQLException in a SqlException.
 
Method Summary
(package private)  SqlException copyAsUnchainedSQLException(LogWriter logWriter)
           
 int getErrorCode()
           
 java.lang.String getMessage()
           
static MessageUtil getMessageUtil()
          This routine provides singleton access to an instance of MessageUtil that is constructed for client messages.
 SqlException getNextException()
           
 Sqlca getSqlca()
           
 java.sql.SQLException getSQLException()
          Convert this SqlException into a java.sql.SQLException
 java.lang.String getSQLState()
           
static SqlException javaException(LogWriter logWriter, java.lang.Throwable e)
          Helper method to construct an exception which basically says that we encountered an underlying Java exception
 void printTrace(java.io.PrintWriter printWriter, java.lang.String header)
           
(package private)  void setBatchPositionLabel(int index)
           
static void setExceptionFactory(SQLExceptionFactory factory)
          Sets the exceptionFactory to be used for creating SQLException
 void setNextException(SqlException nextException)
           
 void setNextException(java.sql.SQLException nextException)
           
private  void setThrowable(java.lang.Throwable throwable)
          Set the cause of this exception based on its type.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_ERRCODE

protected static final int DEFAULT_ERRCODE
See Also:
Constant Field Values

sqlca_

protected transient Sqlca sqlca_

messageNumber_

private transient int messageNumber_
Tells which of the messages in the SQLCA this exception refers to (counting from 0). For engine generated errors only.


message_

protected java.lang.String message_

cachedMessage_

protected java.lang.String cachedMessage_

batchPositionLabel_

private java.lang.String batchPositionLabel_

sqlstate_

protected java.lang.String sqlstate_

errorcode_

protected int errorcode_

causeString_

protected java.lang.String causeString_

nextException_

protected SqlException nextException_

throwable_

protected java.lang.Throwable throwable_

CLIENT_MESSAGE_RESOURCE_NAME

public static final java.lang.String CLIENT_MESSAGE_RESOURCE_NAME
See Also:
Constant Field Values

exceptionFactory

protected static SQLExceptionFactory exceptionFactory

msgutil_

private static MessageUtil msgutil_
The message utility instance we use to find messages It's primed with the name of the client message bundle so that it knows to look there if the message isn't found in the shared message bundle.


wrappedException_

protected java.sql.SQLException wrappedException_
The wrapped SQLException, if one exists

Constructor Detail

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object[] args,
                    java.lang.Throwable cause)
Create a SqlException. This constructor is the "base" constructor; all other constructors (which take a ClientMessageId) delegate to this constructor

Parameters:
logwriter - Can be null, but if provided, it is used to log this exception
msgid - The message id for this message. ClientMessageId is a simple type-safe wrapper for org.apache.derby.shared.common.reference.SQLState message id strings.
args - The set of substitution arguments for the message. The Java message formatter will substitute these arguments into the internationalized strings using the substitution ({0}, {1}, etc.) markers in the string. Any object can be passed, but if you want it to be readable, make sure toString() for the object returns something useful.
cause - Can be null. Indicates the cause of this exception. If this is an instance of SqlException or java.sql.SQLException then the exception is chained into the nextException chain. Otherwise it is chained using initCause(). On JDK 1.3, since initCause() does not exist, a non-SQL exception can not be chained. Instead, the exception class and message text is appended to the message for this exception.

SqlException

public SqlException(LogWriter logWriter,
                    ClientMessageId msgid,
                    java.lang.Object[] args,
                    SqlCode sqlcode,
                    java.lang.Throwable t)

SqlException

public SqlException(LogWriter logWriter,
                    ClientMessageId msgid,
                    java.lang.Object[] args,
                    SqlCode sqlcode)

SqlException

public SqlException(LogWriter logWriter,
                    ClientMessageId msgid,
                    SqlCode sqlcode)

SqlException

public SqlException(LogWriter logWriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    SqlCode sqlcode)

SqlException

public SqlException(LogWriter logWriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    java.lang.Object arg2,
                    SqlCode sqlcode)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Throwable cause)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object[] args)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    java.lang.Throwable cause)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    java.lang.Object arg2,
                    java.lang.Throwable cause)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    java.lang.Object arg2)

SqlException

public SqlException(LogWriter logwriter,
                    ClientMessageId msgid,
                    java.lang.Object arg1,
                    java.lang.Object arg2,
                    java.lang.Object arg3)

SqlException

public SqlException(LogWriter logWriter,
                    Sqlca sqlca)
Create an exception for an engine generated error.

Parameters:
logWriter - object used for tracing
sqlca - the SQLCA sent from the server

SqlException

private SqlException(Sqlca sqlca,
                     int number,
                     boolean chain)
Create one of the exceptions in an exception chain generated by the engine. This constructor calls itself recursively to create the rest of the exception chain if chain is true.

Parameters:
sqlca - the SQLCA sent from the server
number - the message number for this exception (counting from 0)
chain - if true, generate the rest of the exception chain recursively and link it to this exception

SqlException

protected SqlException(LogWriter logWriter,
                       java.lang.String reason,
                       java.lang.String sqlState,
                       int errorCode)

SqlException

protected SqlException(LogWriter logWriter,
                       java.lang.Throwable throwable,
                       java.lang.String reason,
                       java.lang.String sqlState,
                       int errorCode)

SqlException

public SqlException(java.sql.SQLException wrapme)
Wrap a SQLException in a SqlException. This is used by internal routines so the don't have to throw SQLException, which, through the chain of dependencies would force more and more internal routines to throw SQLException

Method Detail

getMessageUtil

public static MessageUtil getMessageUtil()
This routine provides singleton access to an instance of MessageUtil that is constructed for client messages. It is recommended to use this singleton rather than create your own instance. The only time you need this instance is if you need to directly format an internationalized message string. In most instances this is done for you when you invoke a SqlException constructor

Returns:
a singleton instance of MessageUtil configured for client messages

setThrowable

private void setThrowable(java.lang.Throwable throwable)
Set the cause of this exception based on its type. SQLExceptions and SqlExceptions are linked with setNextException() and initCause(). All other exception types are linked with initCause().


getSQLException

public java.sql.SQLException getSQLException()
Convert this SqlException into a java.sql.SQLException


setBatchPositionLabel

void setBatchPositionLabel(int index)

getSqlca

public Sqlca getSqlca()
Specified by:
getSqlca in interface Diagnosable

getMessage

public java.lang.String getMessage()
Overrides:
getMessage in class java.lang.Throwable

getSQLState

public java.lang.String getSQLState()

getErrorCode

public int getErrorCode()

getNextException

public SqlException getNextException()

setNextException

public void setNextException(SqlException nextException)

setNextException

public void setNextException(java.sql.SQLException nextException)

printTrace

public void printTrace(java.io.PrintWriter printWriter,
                       java.lang.String header)
Specified by:
printTrace in interface Diagnosable

javaException

public static SqlException javaException(LogWriter logWriter,
                                         java.lang.Throwable e)
Helper method to construct an exception which basically says that we encountered an underlying Java exception


copyAsUnchainedSQLException

SqlException copyAsUnchainedSQLException(LogWriter logWriter)

setExceptionFactory

public static void setExceptionFactory(SQLExceptionFactory factory)
Sets the exceptionFactory to be used for creating SQLException

Parameters:
factory - SQLExceptionFactory

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.