Actual source code: ex1f.F
1: ! "$Id: ex5.F,v 1.13 2000/09/27 20:04:20 bsmith Exp $";
2: !
3: ! Simple PETSc Program to test setting error handlers from Fortran
4: !
5: subroutine GenerateError(ierr)
6: integer ierr
8: call PetscError(1,1,'Error message',ierr)
10: return
11: end
13: subroutine MyErrorHandler(line,fun,file,dir,n,p,mess,ctx,ierr)
14: integer line,n,p,ierr,ctx
15: character*(*) fun,file,dir,mess
17: print*,'My error handler ',mess
18: return
19: end
21: program main
22: #include include/finclude/petsc.h
23: integer ierr
24: external MyErrorHandler
26: call PetscInitialize(PETSC_NULL_CHARACTER,ierr)
28: call PetscPushErrorHandler(PetscTraceBackErrorHandler, &
29: & PETSC_NULL_INTEGER,ierr)
31: call GenerateError(ierr)
33: call PetscPushErrorHandler(MyErrorHandler, &
34: & PETSC_NULL_INTEGER,ierr)
36: call GenerateError(ierr)
38: call PetscPushErrorHandler(PetscAbortErrorHandler, &
39: & PETSC_NULL_INTEGER,ierr)
41: call GenerateError(ierr)
43: call PetscFinalize(ierr)
44: end