Programming/Fortran
Error Handling in Subroutines
투정이
2008. 12. 3. 16:22
두 값의 차이를 구한 후, square root 값을 돌려 주는 subroutine
문제점 : 두 값의 차이가 음수이면?
해결책 : 에러 체킹을 하고, 그 결과를 돌려준다.
SUBROUTINE process(a, b, result, error)
IMPLICIT NONE
REAL, INTENT(IN) :: a, b
REAL, INTENT(OUT) :: result
INTEGER, INTENT(OUT) :: error
REAL :: temp
temp = a - b
IF ( temp >= 0. ) THEN
result = SQRT(temp)
error= 0
ELSE
result = 0
error = 1
END IF
END SUBROUTINE process
error를 이용하여 SUBROUTINE 내에서 error가 일어났는지 검사