Index: TECH/Error/impl/ErrorHandler.cls.xml
===================================================================
diff -u -r1900 -r1931
--- TECH/Error/impl/ErrorHandler.cls.xml (.../ErrorHandler.cls.xml) (revision 1900)
+++ TECH/Error/impl/ErrorHandler.cls.xml (.../ErrorHandler.cls.xml) (revision 1931)
@@ -52,7 +52,12 @@
Set Error.StackTrace=..StackTrace(3)
if ( Error.ErrorCode["TECH.ExceptionHandler") && ($data(%Exception)) && ($isObject(%Exception) ) {
- Set Error.StackTrace=..StackTrace(4)
+
+ If %Exception.%Extends("TECH.Exceptions.Exception") {
+ Set Error.StackTrace = %Exception.GeefStack()
+ }Else{
+ Set Error.StackTrace=..StackTrace(4)
+ }
set Error.ErrorCode = $piece(Error.StackTrace," ",6)
Set Error.ErrorCode2="`"_%Exception.GeefExceptionCode()_"`"_%Exception.GeefOmschrijving()_"`"
}
@@ -137,7 +142,7 @@
do Body.WriteLine("Stack: "_Error.StackTrace)
do Body.WriteLine()
- if $data(%Exception) && $IsObject(%Exception) {
+ if $data(%Exception) && $IsObject(%Exception) && '%Exception.%Extends("TECH.Exceptions.Exception") {
do Body.WriteLine("ErrorObjectInfo :")
do Body.WriteLine(%Exception.ToString())
do Body.WriteLine()
@@ -212,7 +217,9 @@
From:%Integer=1
"_$STACK($STACK-i,"MCODE")
+ For i=From:1:$ESTACK {
+ Set Txt=Txt_$$$CRLF_i_" "_$STACK($STACK-i)_" : "_$STACK($STACK-i,"PLACE")_" -> "_$STACK($STACK-i,"MCODE")
+ }
Quit Txt
]]>