petsc-3.4.5 2014-06-29


Sets a routine to be called on detection of errors.


#include "petscsys.h" 
PetscErrorCode  PetscPushErrorHandler(PetscErrorCode (*handler)(MPI_Comm comm,int,const char*,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,char *dir,PetscErrorCode n,int p,char *mess,void *ctx);

comm - communicator over which error occured
func - the function where the error occured (indicated by __FUNCT__)
line - the line number of the error (indicated by __LINE__)
file - the file in which the error was detected (indicated by __FILE__)
dir - the directory of the file (indicated by __SDIR__)
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


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()

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages


-on_error_attach_debugger <noxterm,gdb or dbx>- - -on_error_abort