12.9. GDSCODE
Firebird error code of the error in a WHEN … DO block
Available inPSQL
TypeINTEGER
Syntax
GDSCODE
In a
error handling block, the WHEN … DOGDSCODE context variable contains the numeric value of the current Firebird error code.
GDSCODE is non-zero in WHEN … DO blocks, if the current error has a Firebird error code.
Outside error handlers, GDSCODE is always 0.
Outside PSQL, it doesn’t exist at all.
After WHEN GDSCODE, you must use symbolic names like grant_obj_notfound etc.
But the GDSCODE context variable is an INTEGER.
If you want to compare it against a specific error, the numeric value must be used, e.g.
335544551 for grant_obj_notfound.
Example
when gdscode grant_obj_notfound, gdscode grant_fld_notfound,
gdscode grant_nopriv, gdscode grant_nopriv_on_base
do
begin
execute procedure log_grant_error(gdscode);
exit;
end