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 );
}