본문 바로가기

Language/Java

Finally 구문

1. 설명

예외 구문에서 문제가 발생하건 말건 예외처리 후 무조건 실행해야하는 코드를 적어 놓는 구문 

2. 코드리뷰

public class _04_Finally {
    public static void main(String[] args) {
        try{
            System.out.println("택시의 문을 연다.");
            throw new Exception("휴무 택시");
           //  System.out.println("택시에 탑승한다.");
           // 예외를 던지는 문장 주석 처리 하고 택시를 탑승한다는 정상 출력문이 나와도 finally 구문 실행

        } catch (Exception e) {
            System.out.println("!! 문제 발생: " + e.getMessage());
        } finally {
            System.out.println("택시의 문을 닫는다.");
        }
	 }
}
        // try + catch(s)
        // try + catch(s) + finally
        // try + finally

        // try 구문에 문제 되는 코드를 안 넣고, 밖에서 실행하면 
        // 해당 코드가 에러 발생시 프로그램은 거기서 강제 종료됨.
        // try에 넣어놓으면 해당 구문이 에러 나도 프로그램은 끝까지 수행됨.
        // try finally 구문은 에러 나는 코드에 대해 별도의 예외처리 하고 싶지 않을 때 쓰는 구문
        try{
            System.out.println(3/0);
        } finally {
            System.out.println("프로그램 정상 종료");
        }

    }

3. 스스로 해보기 

public class Finally_myself {
    public static void main(String[] args) {
        try {
            System.out.println(" 축구 경기가 시작 됐습니다.");
            throw new Exception("선수가 부상 당했습니다.");

        } catch (Exception e) {
            System.out.println("!! 문제 발생 : " + e.getMessage());

        } finally {
            System.out.println("경기가 종료되었습니다.");
        }
    }
}

'Language > Java' 카테고리의 다른 글

사용자 정의 예외  (0) 2023.03.02
Try with Resources  (0) 2023.02.28
Throw  (0) 2023.02.24
오류에 따른 맞춤 예외 처리  (0) 2023.02.23
Run-Time(런타임) 오류와 예외 처리  (0) 2023.02.23