ClientUser::HandleError( Error * )
Process error data after a failed command.
Virtual? |
Yes |
|
Class |
||
Arguments |
|
an |
Returns |
|
Notes
The default implementation formats the error with Error::Fmt()
and outputs the
result with OutputError()
.
2002.1 and newer servers do not call HandleError()
to
display errors. Instead, they call Message()
. The default
implementation of Message()
calls HandleError()
if
its argument is a genuine error; as a result, older code that uses HandleError()
can
be used with the newer API and newer servers so long as the default
implementation of Message()
is
retained.
Example
HandleError()
is
called whenever a command encounters an error. For example:
> p4 files nonexistent nonexistent - no such file(s).
In this case, the Error
object given to HandleError()
contains the text "nonexistent - no such file(s)." and has a severity of
2 (E_WARN
).
To handle errors in a different way, create a subclass of
ClientUser
with an alternate implementation of HandleError()
.
For example, if you want an audible warning on a fatal error, implement
HandleError()
as
follows:
void MyClientUser::HandleError( Error *err ) { if ( err->IsFatal() ) printf ( "Fatal error!\n%c", 7 ); }