PetscPushErrorHandler#
Sets a routine to be called on detection of errors.
Synopsis#
#include "petscsys.h"
PetscErrorCode PetscPushErrorHandler(PetscErrorCode (*handler)(MPI_Comm comm, int, const char *, const char *, PetscErrorCode, PetscErrorType, const char *, void *), void *ctx)
Not Collective
Input Parameters#
handler - error handler routine
ctx - optional handler context that contains information needed by the handler (for example file pointers for error messages etc.)
Calling sequence of handler
#
PetscErrorCode handler(MPI_Comm comm, int line, char *func, char *file, PetscErrorCode n, int p, char *mess, void *ctx);
comm - communicator over which error occurred
line - the line number of the error (indicated by LINE)
file - the file in which the error was detected (indicated by FILE)
n - the generic error number (see list defined in include/petscerror.h)
p -
PETSC_ERROR_INITIAL
if error just detected, otherwisePETSC_ERROR_REPEAT
mess - an error text string, usually just printed to the screen
ctx - the error handler context
Options Database Keys#
-on_error_attach_debugger <noxterm,gdb or dbx> - starts up the debugger if an error occurs
-on_error_abort - aborts the program if an error occurs
Note#
The currently available PETSc error handlers include PetscTraceBackErrorHandler()
,
PetscAttachDebuggerErrorHandler()
, PetscAbortErrorHandler()
, and PetscMPIAbortErrorHandler()
, PetscReturnErrorHandler()
.
Fortran Note#
You can only push one error handler from Fortran before popping it.
See Also#
PetscPopErrorHandler()
, PetscAttachDebuggerErrorHandler()
, PetscAbortErrorHandler()
, PetscTraceBackErrorHandler()
, PetscPushSignalHandler()
Level#
intermediate
Location#
Examples#
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages