error_object Derived Type

type, public :: error_object

Error object class.

Handler of errors/excetpions.

Inherited By

type~~error_object~~InheritedByGraph type~error_object error_object type~file_object file_object type~error_object->type~file_object error type~file_grid_object file_grid_object type~error_object->type~file_grid_object error type~solver_object solver_object type~error_object->type~solver_object error type~time_object time_object type~error_object->type~time_object error type~non_dimensional_numbers_object non_dimensional_numbers_object type~error_object->type~non_dimensional_numbers_object error type~block_object block_object type~error_object->type~block_object error type~os_object os_object type~error_object->type~os_object error type~free_conditions_object free_conditions_object type~error_object->type~free_conditions_object error type~simulation_object simulation_object type~error_object->type~simulation_object error type~file_object->type~file_grid_object type~files_collection_object files_collection_object type~file_object->type~files_collection_object boundary_conditions, grid, initial_conditions, logging, solution type~file_grid_object->type~simulation_object file_grid type~solver_object->type~simulation_object solver type~time_object->type~simulation_object time type~non_dimensional_numbers_object->type~simulation_object adimensionals type~block_object->type~simulation_object blocks type~os_object->type~simulation_object os type~free_conditions_object->type~simulation_object free_conditions
Help

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: message

Error message.

integer(kind=I4P), public :: status =0_I4P

Error status.


Type-Bound Procedures

generic, public :: assignment(=) => err_assign_err

Overload =.

  • private pure subroutine err_assign_err(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(error_object), intent(inout) :: lhs

    Left hand side.

    type(error_object), intent(in) :: rhs

    Right hand side.

procedure, public, pass(self) :: check

Check error status.

  • private subroutine check(self, message, is_severe)

    Check error status.

    Arguments

    Type IntentOptional AttributesName
    class(error_object), intent(inout) :: self

    Error object.

    character(len=*), intent(in), optional :: message

    Error message.

    logical, intent(in), optional :: is_severe

    Enable severe error.

procedure, public, pass(self) :: destroy

Destroy error.

  • private elemental subroutine destroy(self)

    Destroy error.

    Arguments

    Type IntentOptional AttributesName
    class(error_object), intent(inout) :: self

    Error object.

procedure, public, pass(lhs) :: err_assign_err

Operator =.

  • private pure subroutine err_assign_err(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(error_object), intent(inout) :: lhs

    Left hand side.

    type(error_object), intent(in) :: rhs

    Right hand side.

procedure, public, pass(self) :: initialize

Initialize error.

  • private elemental subroutine initialize(self)

    Initialize error.

    Arguments

    Type IntentOptional AttributesName
    class(error_object), intent(inout) :: self

    Error object.

Source Code

type :: error_object
   !< Error object class.
   !<
   !< Handler of errors/excetpions.
   integer(I4P)                  :: status=0_I4P !< Error status.
   character(len=:), allocatable :: message      !< Error message.
   contains
      ! public methods
      procedure, pass(self) :: check      !< Check error status.
      procedure, pass(self) :: destroy    !< Destroy error.
      procedure, pass(self) :: initialize !< Initialize error.
      ! operators
      generic :: assignment(=) => err_assign_err !< Overload `=`.
      ! private methods
      procedure, pass(lhs) :: err_assign_err !< Operator `=`.
endtype error_object