CallStack property

Contains the ABL procedure call stack indicating when an ABL error object (an object that implements Progress.Lang.Error) was thrown.

Data type: CHARACTER

Access: PUBLIC Read-only

Applies to: Progress.Lang.ProError class, System.Exception class (OpenEdge-enhanced)

Returns the contents of the call stack as a string when the ABL error object or .NET exception object is raised. If the error occurs from the user interface, the procedure containing the latest WAIT-FOR statement will be at the top of the call stack.

Note: The StackTrace property of a .NET exception object also provides a stack trace from the implementation of the .NET object being called (that is, the stack of managed routine names and offsets).

If the ERROR-STACK-TRACE attribute of the SESSION handle is set to FALSE, then this property returns the Unknown value (?). To enable the CallStack property, set the SESSION:ERROR-STACK-TRACE property to TRUE, or use the -errorstack startup parameter at session startup.

Caution:
The ERROR-STACK-TRACE is set to FALSE by default because maintaining a call stack for error handling requires overhead that is not warranted in a production environment.

For more information, see ERROR-STACK-TRACE attribute reference entry. For more information on -errorstack, see OpenEdge Deployment: Startup Command and Parameter Reference.

The call stack contains one entry for each item on the stack, starting with the last item, which is where the error occurred. Each entry is delimited by the newline character. Each entry contains three values, separated by whitespace:

Additionally, if part of the call stack is from an AppServer's stack trace, "ON SERVER" will be appended to the end of the stack from the server.

Syntax

For a main block (.p):
<file name> at line <n> (<full file name>) 
For an internal procedure:
<Internal procedure> <file name> at line <n> (<full file name>)
For a user-defined function:
<user-defined-function-name> <file name> at line <n> (<full file name>)
For a class property or method:
<Property or method> <class name> at line <n> (<full file name>)
line-number
The line number in the source code file where the error was raised.
file name
The name of the .p or .w file as it appears in the RUN statement which invoked the file.
class name
The name of the class including the package name.
full file name
The full file name is identical to the file name, but is prepended by the PROPATH element used by the RUN statement to identify the file.

See also

ERROR-STACK-TRACE attribute