Fortran沒有內(nèi)置的異常處理機制,但可以通過一些技巧和編程習(xí)慣來實現(xiàn)自定義的異常處理機制。以下是一種常見的方法:
function divide(a, b, result, err)
real :: a, b, result
integer :: err
if (b == 0) then
err = 1
else
result = a / b
err = 0
end if
end function divide
function divide(a, b, result, has_error)
real :: a, b, result
logical :: has_error
if (b == 0) then
has_error = .true.
else
result = a / b
has_error = .false.
end if
end function divide
subroutine handle_error(error_code)
integer :: error_code
select case(error_code)
case(1)
print *, "Error: Division by zero"
case default
print *, "Unknown error"
end select
end subroutine handle_error
function divide(a, b, result)
real :: a, b, result
integer :: err
if (b == 0) then
err = 1
call handle_error(err)
else
result = a / b
end if
end function divide
通過以上方法,可以實現(xiàn)簡單的異常處理機制,但需要程序員自行管理異常狀態(tài)和處理邏輯。在復(fù)雜的程序中,可以考慮使用現(xiàn)代化的編程語言或庫來實現(xiàn)更靈活和強大的異常處理機制。