ClientUser::ErrorPause( char *, Error * )
Outputs an error and prompts for a keystroke to continue.
Virtual? |
Yes |
|
Class |
||
Arguments |
|
the error message to be printed |
|
an |
|
Returns |
|
Notes
The default implementation of ErrorPause()
consists solely of calls to OutputError()
and
Prompt()
.
Example
One situation that results in a call to ErrorPause()
is an
incorrectly edited specification; for example:
> p4 client ... Error in client specification. Error detected at line 31. Wrong number of words for field 'Root'. Hit return to continue...
In this instance, the first three lines of output were the
errBuf
argument to ErrorPause()
; they
were displayed using OutputError()
.
To display an error and prompt for confirmation within a GUI
application, create a subclass of ClientUser
that overrides
ErrorPause()
and
use this subclass in place of ClientUser
.
Suppose that you have a function MyWarning()
that takes a
char *
as an argument, and displays the argument text in an
appropriate popup dialog that has to be clicked to be dismissed. You can
implement ErrorPause()
as a
call to this function, as follows:
void MyClientUser::ErrorPause( char *errBuf, Error *e ) { MyWarning( errBuf ); }
Within a GUI, the warning text and "OK" button are probably bundled into
a single dialog, so overriding ErrorPause()
is a
better approach than overriding OutputError()
and
Prompt()
separately.