IRISLIB database
All Classes Namespaces Functions Variables Pages
AbstractException Class Reference

The <class>Exception.AbstractException</class> defines the interface to exceptions that may be caught and thrown via the Try/Catch exception handling facilities. More...

Inheritance diagram for AbstractException:
Collaboration diagram for AbstractException:

Public Member Functions

_.Library.Integer AsSQLCODE ()
 Return the SQLCODE value corresponding to the exception.
 
_.Library.String AsSQLMessage ()
 Return the SQL msg string describing details of the exception.
 
_.Library.Status AsStatus ()
 Convert this exception to a Status compatible value.
 
_.Library.String DisplayString (_.Library.Integer pLevel)
 This returns a string that represents the exception. More...
 
_.Library.Status Log ()
 Call the log function (LOG^ETN) to log this exception. More...
 
 OutputToDevice (_.Library.Integer pLevel)
 This outputs the string representation of the exception to the current device, recursively. More...
 
 OutputToStream (_.Library.CharacterStream pStream, _.Library.Integer pLevel)
 This outputs the string representation of the exception to the supplied stream, recursively. More...
 
 SQLMessageString (_.Library.Integer pLevel)
 This returns a string that represents the SQL msg string. More...
 
_.Library.Status StackAsArray (array)
 This method sets an array that is passed by reference to the execution stack at the time of the exception. More...
 

Private Member Functions

_.Library.Integer __OnAsSQLCODE ()
 Override this method to provide a custom conversion of an exception to an SQLCODE value.
 
_.Library.String __OnAsSQLMessage ()
 Override this method to provide a custom conversion of an exception to the SQL msg string.
 
_.Library.Status __OnAsStatus ()
 Override this method to provide a custom conversion of an exception to a status.
 

Additional Inherited Members

- Public Attributes inherited from CPPException
 Code
 Code is the error code. More...
 
 Data
 Data is extra information supplied for certain errors. More...
 
 InnerException
 This holds an Inner exception. More...
 
 Location
 Location is the location at which the error occurred. More...
 
 Name
 Name is the name of the error. More...
 

Detailed Description

The <class>Exception.AbstractException</class> defines the interface to exceptions that may be caught and thrown via the Try/Catch exception handling facilities.

Users wishing to define new exception classes should inherit from this interface class. Only instances of classes that inherit from Exception.AbstractException may be thrown with the 'throw' command.

Member Function Documentation

◆ DisplayString()

_.Library.String DisplayString ( _.Library.Integer  pLevel)

This returns a string that represents the exception.

Users should feel free

to modify the format in subclasses.

Reimplemented from CPPException.

Reimplemented in Exception, StatusException, and PythonException.

◆ Log()

Call the log function (LOG^ETN) to log this exception.

You can view this log at the terminal with 'Do ^ER' utility or from the system management portal.

◆ OutputToDevice()

OutputToDevice ( _.Library.Integer  pLevel)

This outputs the string representation of the exception to the current device, recursively.

outputing any inner exceptions.

◆ OutputToStream()

OutputToStream ( _.Library.CharacterStream  pStream,
_.Library.Integer  pLevel 
)

This outputs the string representation of the exception to the supplied stream, recursively.

outputting any inner exceptions.

◆ SQLMessageString()

SQLMessageString ( _.Library.Integer  pLevel)

This returns a string that represents the SQL msg string.

Users should feel free

to modify the format and content in subclasses.
DEPRECATED - use AsSQLMessage() instead. Override OnAsSQLMessage() to customize the value returned by AsSQLMessage().

Reimplemented in StatusException, SQL, and Exception.

◆ StackAsArray()

_.Library.Status StackAsArray (   array)

This method sets an array that is passed by reference to the execution stack at the time of the exception.

The top unsubscripted value is the number of execution levels.

array(n) is a string that indicates how the next level was created. It is empty for the current level. The value may be:
DO - issued a DO command
$$ - called an extrinsic function
XECUTE - issued an XECUTE command
BREAK - entered a debug prompt because of a BREAK>
ERROR - entered a debug prompt because of an error
$ETRAP - executed a $ETRAP
CALLIN - entered via a callin<br>
array(n,"PLACE") is the location of the last command executed at this level. It is a line reference followed by the command number on that line.

Reimplemented in Exception.