Index: TECH/Error.inc.rou =================================================================== diff -u -r948 -r995 --- TECH/Error.inc.rou (.../Error.inc.rou) (revision 948) +++ TECH/Error.inc.rou (.../Error.inc.rou) (revision 995) @@ -29,6 +29,7 @@ #define ThrowErrorStatus(%s,%v,%r) Set $ECODE="`"_%s_"`"_%v_"`"_$$ParseStatus^vhLib(%r)_"`" #define ThrowErrorUser(%s,%v,%u) Set $ECODE="`"_%s_"`"_%v_"``"_%u, #define ThrowErrorStatusAndUser(%s,%v,%r,%u) Set $ECODE="`"_%s_"`"_%v_"``"_%u +#define ThrowErrorObject(%o) Do ##class(TECH.Error).Throw(%o) set $ECODE="`"_%o.GeefErrorCode()_"`"_%o.GeefErrorType() #define ClearError Set $ECODE="" #define ClearLocalError Set ErrorLevelTrapOn=$O(%TECHErrorLocalTrap(""),-1) If $ES=(ErrorLevelTrapOn+2) $$$ClearError @@ -40,6 +41,8 @@ #define chkValidateObject(%obj) Set sc=%obj.%ValidateObject() If $$$ISERR(sc) $$$ThrowErrorStatus($$$errObjectValidationFailed,"%obj",sc) #define chkValidateDataType(%dt,%p) if '##class(%dt).IsValidDT(%p) $$$ThrowError($$$errInvalidInput,%p) +#define CreateStdErrorObject set %vhLastError = ##class(TECH.Error.ErrorObject).%New() +#define AddToErrorObject(%String) do %vhLastError.Info.Insert(%String) #define errGeneralError "1000:GeneralError" #define errPropertyRequired "1001:PropertyRequired"