Error functions

The following group of functions defines the behavior of the library when errors occur during the execution.

Usage

The following examples, that can be found in the directory examples of the library sources, show the typical usage of this group of functions.

The example in Fortran 77/90/95 language is f77error.f.

The following example shows how to stop the execution on the error.

program f77error
    implicit none
    include 'f90calceph.h'
    integer*8 peph
    integer res

    ! set the  error handler to stop on error
     call f90calceph_seterrorhandler(2, 0)

    ! open the ephemeris file
    res = f90calceph_open(peph, "example1.dat")
    ! ...
stop
end

The following example shows how to define a custom error handler function.

 !-----------------------------------------------------------------
 ! custom error handler
 !-----------------------------------------------------------------
         subroutine myhandler(msg)
            implicit none
            character(len=*) :: msg
            write (*,*) "The calceph calls the function myhandler"
            write (*,*) "The message contains ",len(msg)," characters"
            write(*,*) "The error message is :"
            write(*,*) "----------------------"
            write(*,*) msg
            write(*,*) "----------------------"
            write(*,*) "The error handler returns"
         end

 !-----------------------------------------------------------------
 ! main program
 !-----------------------------------------------------------------
 program f77error
    implicit none
    include 'f90calceph.h'
    integer res
    integer*8 peph
    external myhandler


     ! set the  error handler to use my own callback
     call f90calceph_seterrorhandler(3, myhandler)

    ! open the ephemeris file
    res = f90calceph_open(peph, "example1.dat")
    ! ...
stop
end