Index: TECH/Error.inc.rou =================================================================== diff -u -r760 -r924 --- TECH/Error.inc.rou (.../Error.inc.rou) (revision 760) +++ TECH/Error.inc.rou (.../Error.inc.rou) (revision 924) @@ -17,7 +17,7 @@ #define LocalErrorTrapOn $$$InitLocalErrorTrap Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler()" #define LocalErrorTrapOnLabeled(%Label,%Opts) $$$InitLocalErrorTrap Set $ETRAP="Do %TECHErrorLocalTrap("_$stack_").TrapHandler("%Label","%Opts")" -#define LocalErrorTrapOff Kill %TECHErrorLocalTrap($stack) +#define LocalErrorTrapOff Kill %TECHErrorLocalTrap($stack) $$$TECHErrorTrapOff #define InitLocalErrorTrap Set %TECHErrorLocalTrap($stack)=%this @@ -31,6 +31,7 @@ #define ThrowErrorStatusAndUser(%s,%v,%r,%u) Set $ECODE="`"_%s_"`"_%v_"``"_%u #define ClearError Set $ECODE="" +#define ClearLocalError Set ErrorLevelTrapOn=$O(%TECHErrorLocalTrap(""),-1) If $ES=(ErrorLevelTrapOn+2) $$$ClearError #define StdHandling Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler(.Label,.Options) #define ReThrow ; Rethrow is automatic