raise_exception Subroutine

private subroutine raise_exception(me, istat, routine, error_msg)

Raise an exception.

Type Bound

numdiff_type

Arguments

Type IntentOptional Attributes Name
class(numdiff_type), intent(inout) :: me
integer, intent(in) :: istat

error code.

character(len=*), intent(in) :: routine

the routine where the error was raised.

character(len=*), intent(in) :: error_msg

error message string.


Called by

proc~~raise_exception~~CalledByGraph proc~raise_exception numerical_differentiation_module::numdiff_type%raise_exception proc~compute_jacobian numerical_differentiation_module::numdiff_type%compute_jacobian proc~compute_jacobian->proc~raise_exception proc~compute_perturbation_vector numerical_differentiation_module::numdiff_type%compute_perturbation_vector proc~compute_jacobian->proc~compute_perturbation_vector proc~compute_jacobian_partitioned numerical_differentiation_module::compute_jacobian_partitioned proc~compute_jacobian_partitioned->proc~raise_exception proc~compute_jacobian_standard numerical_differentiation_module::compute_jacobian_standard proc~compute_jacobian_standard->proc~raise_exception proc~compute_jacobian_with_diff numerical_differentiation_module::compute_jacobian_with_diff proc~compute_jacobian_with_diff->proc~raise_exception proc~compute_perturb_vector numerical_differentiation_module::numdiff_type%compute_perturb_vector proc~compute_perturb_vector->proc~raise_exception proc~compute_sparsity_random numerical_differentiation_module::compute_sparsity_random proc~compute_sparsity_random->proc~raise_exception proc~compute_sparsity_random_2 numerical_differentiation_module::compute_sparsity_random_2 proc~compute_sparsity_random_2->proc~raise_exception proc~compute_jacobian_for_sparsity numerical_differentiation_module::numdiff_type%compute_jacobian_for_sparsity proc~compute_sparsity_random_2->proc~compute_jacobian_for_sparsity proc~initialize_numdiff numerical_differentiation_module::numdiff_type%initialize_numdiff proc~initialize_numdiff->proc~raise_exception proc~set_numdiff_bounds numerical_differentiation_module::numdiff_type%set_numdiff_bounds proc~initialize_numdiff->proc~set_numdiff_bounds proc~set_sparsity_mode numerical_differentiation_module::numdiff_type%set_sparsity_mode proc~initialize_numdiff->proc~set_sparsity_mode proc~initialize_numdiff_for_diff numerical_differentiation_module::numdiff_type%initialize_numdiff_for_diff proc~initialize_numdiff_for_diff->proc~raise_exception proc~initialize_numdiff_for_diff->proc~set_numdiff_bounds proc~initialize_numdiff_for_diff->proc~set_sparsity_mode proc~set_dpert numerical_differentiation_module::numdiff_type%set_dpert proc~set_dpert->proc~raise_exception proc~set_numdiff_bounds->proc~raise_exception proc~set_numdiff_sparsity_bounds numerical_differentiation_module::numdiff_type%set_numdiff_sparsity_bounds proc~set_numdiff_sparsity_bounds->proc~raise_exception proc~set_sparsity_mode->proc~raise_exception proc~set_sparsity_mode->proc~set_numdiff_sparsity_bounds proc~set_sparsity_pattern numerical_differentiation_module::numdiff_type%set_sparsity_pattern proc~set_sparsity_pattern->proc~raise_exception proc~compute_jacobian_dense numerical_differentiation_module::numdiff_type%compute_jacobian_dense proc~compute_jacobian_dense->proc~compute_jacobian proc~compute_jacobian_times_vector numerical_differentiation_module::numdiff_type%compute_jacobian_times_vector proc~compute_jacobian_times_vector->proc~compute_jacobian proc~compute_perturbation_vector->proc~compute_perturb_vector proc~compute_sparsity_perturbation_vector numerical_differentiation_module::numdiff_type%compute_sparsity_perturbation_vector proc~compute_sparsity_perturbation_vector->proc~compute_perturb_vector proc~compute_jacobian_for_sparsity->proc~compute_sparsity_perturbation_vector

Source Code

    subroutine raise_exception(me,istat,routine,error_msg)

    implicit none

    class(numdiff_type),intent(inout) :: me
    integer,intent(in)          :: istat      !! error code.
    character(len=*),intent(in) :: routine    !! the routine where the error was raised.
    character(len=*),intent(in) :: error_msg  !! error message string.

    me%istat = istat
    me%error_msg = 'Error in '//trim(routine)//' : '//trim(error_msg)
    me%exception_raised = .true.

    end subroutine raise_exception