PETSc version 3.15.5
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
int handler(MPI_Comm comm,int line,char *func,char *file,PetscErrorCode n,int p,char *mess,void *ctx);
| comm | - communicator over which error occured
|
| 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, otherwise PETSC_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
|
Notes
The currently available PETSc error handlers include PetscTraceBackErrorHandler(),
PetscAttachDebuggerErrorHandler(), PetscAbortErrorHandler(), and PetscMPIAbortErrorHandler(), PetscReturnErrorHandler().
Fortran Notes
You can only push one error handler from Fortran before poping it.
See Also
PetscPopErrorHandler(), PetscAttachDebuggerErrorHandler(), PetscAbortErrorHandler(), PetscTraceBackErrorHandler(), PetscPushSignalHandler()
Level
intermediate
Location
src/sys/error/err.c
Examples
src/ksp/ksp/tutorials/ex27.c.html
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages