Class SqlException

    • Field Detail

      • sqlca_

        private 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_

        private java.lang.String message_
      • cachedMessage_

        private java.lang.String cachedMessage_
      • batchPositionLabel_

        private java.lang.String batchPositionLabel_
      • sqlstate_

        private java.lang.String sqlstate_
      • errorcode_

        private int errorcode_
      • causeString_

        private java.lang.String causeString_
      • CLIENT_MESSAGE_RESOURCE_NAME

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

        private static SQLExceptionFactory exceptionFactory
        SQLException factory is initialized with default factory. It will be over written by the SQLException factory of the supported JDBC version.
      • 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

        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().
      • SqlException

        public SqlException​(LogWriter logWriter,
                            ClientMessageId msgid,
                            java.lang.Throwable cause,
                            java.lang.Object... args)
      • 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

        private SqlException​(LogWriter logWriter,
                             java.lang.String reason,
                             java.lang.String sqlState,
                             int errorCode)
      • SqlException

        private 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)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Throwable
      • getArgs

        private java.lang.Object[] getArgs()
      • getMessage

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

        public java.lang.String getSQLState()
      • getErrorCode

        public int getErrorCode()
      • setNextException

        public void setNextException​(SqlException nextException)
      • setNextException

        public void setNextException​(java.sql.SQLException nextException)
      • javaException

        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