This and other RFCs are available on the web at
http://dev.perl.org/rfc/
=head1 TITLE
All perl generated errors should have a unique identifier
=head1 VERSION
Maintainer: Chaim Frenkel <[EMAIL PROTECTED]>
Date: 9 Aug 2000
Version: 1
Mailing List: [EMAIL PROTECTED]
Number:
85
All perl generated errors should have a unique identity. So that
changes in the text should not cause breakage in code.
=head1 DESCRIPTION
Currently many programs handle error returns by examining the text of
the error returned in $@. This makes changes in the text of the error
message, an issue for the backwards compatibility police.
An added benefit, depending upon the actual method of identifing
errors selected could be a classification scheme for errors.
=head1 IMPLEMENTATION
Each unique identifier once assigned as part of a stable release
of perl will be guarenteed never to be changed, or if the error
text is removed, never to be reused.
=head2 Encodings
I have listed some possiblities. But none of these are ideal.
=head3 A unique number
Each error message will be assigned a unique number. The number
could be made accessible via the $@ in a numeric context.
=over 4
=item As an integer
This would be simple and direct
=item As a floating point number
The integer part would be the actual identifier. The fractional
part could encode some classification scheme.
=back
=head3 Unique String
Each error message will have a unique string assigned.
The unique string could be accessible as
$@->unique_id
=head3 Prefixes for all error strings (Shades of Big Blue)
Each error message will have a unique string that will be part of
the text.
For those of you who have ever read through the IBM Codes and Errors
manual this will look familiar.
For example
FIL0001W unable to close filehandle %s properly
PAR0003F Can't find label %s
=head2 Classification Schemes
To be defined. Suggestions welcome.
=head1 REFERENCES