Check error status.
If errors occurred, a warn is printed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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. |
subroutine check(self, message, is_severe)
!< Check error status.
!<
!< If errors occurred, a warn is printed.
class(error_object), intent(inout) :: self !< Error object.
character(*), intent(in), optional :: message !< Error message.
logical, intent(in), optional :: is_severe !< Enable severe error.
logical :: is_severe_ !< Enable severe error, local variable.
if (self%status /= 0) then
is_severe_ = .false. ; if (present(is_severe)) is_severe_ = is_severe
if (present(message)) then
self%message = 'error ['//trim(str(self%status))//']: '//message
else
self%message = 'error ['//trim(str(self%status))//']'
endif
write(stderr, '(A)') self%message
if (is_severe_) stop
endif
endsubroutine check