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