| Firebird Documentation Index → Firebird 2.0 Language Ref. Update → Context variables → GDSCODE | 
|  |  |     | 
Find a more recent version at Firebird 5.0 Language Reference: GDSCODE
Available in: PSQL
Added in: 1.5
Changed in: 2.0
Description: In a “WHEN ... DO” error handling block, the
                    GDSCODE context variable contains the numerical representation of the
                    current Firebird error code. Prior to Firebird 2.0, GDSCODE was only set
                    in WHEN GDSCODE handlers. Now it may also be non-zero in WHEN
                       ANY, WHEN SQLCODE and WHEN EXCEPTION
                    blocks, provided that the condition raising the error corresponds with a Firebird error
                    code. Outside error handlers, GDSCODE is always 0. Outside PSQL it
                    doesn't exist at all.
         
Type: INTEGER
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;
endPlease notice: 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 certain
                  error, you have to use the numeric value, e.g. 335544551 for
                  grant_obj_notfound.
         
|     | 
| Firebird Documentation Index → Firebird 2.0 Language Ref. Update → Context variables → GDSCODE |