Subject Re: ISC Error codes (REPOST)
Author Ryan Nilsson-Harding
Thanks for having a look Helen.

I already have had a look through the documentation ("InterBase
status array error codes") and I also have had a look in the
iberror.h file, but only found info on the generic error code.
(ie, isc_io_error, etc) but each of these error codes has sub-
errors, and I am trying to find out how I can pin point the sub
error.
(What I mean by sub error is that, for example,
the errors PathNotFound, FileNotFound and FileExists all come under
the "isc_io_error" code of 335544344L, but they have a diff. error
message)

What I have since found out through testing, is that the second
number string does NOT seem to be the reference to the sub code. It
has since changed, even though I'm getting the same error.

I guess I'll have to test the actual error message, and hope these
do not get changed in future versions.

Anyways,
thanks again for your help.
-Ryan



> I started to answer this question by studying the format of the
error
> status vector (see the API Guide) but, with my own time limited,
I have to
> suggest that you explore those docs yourself to work out the
significance
> of the second string of numerals. I think the "2" indicates that
there are
> two error messages in the array. I couldn't find anything about
the
> significance of the second number string.
>
> My inclination is to suggest that you look for the gdscode errors
via their
> constant names. You can find them in the Language Reference, in
the
> section entitles "InterBase status array error codes". The
constants are
> fully declared in iberror.h which you will find in the /include
directory
> of your Firebird installation. If you are using Pascal, there are
several
> translations of these headers available.
>
> Hint: if you are referring to the gds codes in an ON EXCEPTION
GDSCODE...
> structure in PSQL, you need to omit the "isc_" prefix from the
constant
> name. This isn't documented anywhere except in the Using Firebird
manual
> and it is there thanks to Ivan Prenosil's "inside knowledge".