例外処理には便利なんですが、時代が存在を許さないw
ソースコード
MODULE m_mod IMPLICIT NONE CONTAINS SUBROUTINE alt(i, *, *) INTEGER, INTENT(IN) :: i SELECT CASE(i) CASE(1) RETURN 1 CASE(2) RETURN 2 CASE DEFAULT RETURN END SELECT END SUBROUTINE alt END MODULE m_mod PROGRAM test USE m_mod IMPLICIT NONE INTEGER :: i DO i = 1, 3 CALL alt(i, *10, *20) PRINT *, 'normal end' CYCLE 10 PRINT *, '10' CYCLE 20 PRINT *, '20' END DO STOP END PROGRAM test