Index: TECH/Error.inc.rou =================================================================== diff -u -r9 -r334 --- TECH/Error.inc.rou (.../Error.inc.rou) (revision 9) +++ TECH/Error.inc.rou (.../Error.inc.rou) (revision 334) @@ -25,7 +25,7 @@ #define DollarOrderCheck Set:($O(%TECHErrorLocalTrap($stack))'="") $ECODE="`PreviousTrapNotCleared" #define DollarDataCheck Set:($D(%TECHErrorLocalTrap($stack))) $ECODE="`PreviousTrapNotCleared" -#define ThrowError(%s,%v) Set $ECODE="`"_%s_"`"_%v_"`" +#define ThrowError(%s) do ##class(TECH.ExceptionHandler).Throw(%s) #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 @@ -36,9 +36,9 @@ #define StdHandling Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler(.Label,.Options) #define ReThrow ; Rethrow is automatic -#define chkRequiredParameter(%p) If '$length($get(%p)) $$$ThrowError($$$errParameterRequired,"%p") -#define chkIsObject(%obj) If '$isobject(%obj) $$$ThrowError($$$errObjectExpected,"%obj") -#define chkValidateObject(%obj) Set sc=%obj.%ValidateObject() If $$$ISERR(sc) $$$ThrowErrorStatus($$$errObjectValidationFailed,"%obj",sc) +#define chkRequiredParameter(%p) If '$length($get(%p)) set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("%p is vereist") do ##class(TECH.ExceptionHandler).Throw(Exception) +#define chkIsObject(%obj) If '$isobject(%obj) set Exception = ##class(TECH.Exceptions.ObjectExpectedException).%New("%obj is geen object") do ##class(TECH.ExceptionHandler).Throw(Exception) +#define chkValidateObject(%obj) $$$chkIsObject(%obj) Set sc=%obj.%ValidateObject() If $$$ISERR(sc) set Exception = ##class(TECH.Exceptions.StatusException).%New($$$errObjectValidationFailed,"%p is niet geldig",sc) do ##class(TECH.ExceptionHandler).Throw(Exception) #define chkValidateDataType(%dt,%p) if '##class(%dt).IsValid(%p) $$$ThrowError($$$errInvalidInput,%p) #define chkMaxLength(%var,%maxlength) if $length(%var) > %maxlength $$$ThrowError($$$errInvalidInput,%var_": "_$length(%var)_">"_%maxlength)