1. 예외 발생 유무와 상관없이 실행되는 구문이며 생략할수있다.
2. 예외 처리를 할 때, 예외와 상관없이 반드시 처리해야 하는 구문들을 작성할 때 사용한다.
3. 보통 외부 연동이나 예외가 발생해도 정상 종료되어야 할 구문들에서 실행된다.
바로 예시를 보자
public class Ex5_finally { public static void main(String[] args) { Scanner scan = new Scanner(System.in); try { System.out.println("점수를 입력하세요"); int score = scan.nextInt(); if(score>=65) { System.err.println("합격입니다."); }else { System.out.println("불합격입니다."); } } catch (Exception e) { System.out.println("키보드 입력이 올바르지 않습니다."); }finally { System.out.println("프로그램 종료"); } } } |
score 변수안에 입력한 점수가 들어간다. 그리고 점수따라서 합격 , 불합격이 나뉜다. 그후 catch를 통해서 옳지않은 값을 입력시 출력문을 찍는다. 그다음 finally가 나오게되는데 이것은 무조건 출력이된다. 즉 프로그램 종료 출력문은 사용자가 정상적으로 값을 입력 하거나 범위에 벗어나는 값을 입력해도 무조건 출력된다는것이다. |