개요
1.
자바에서 예외(Exception)란, 단순한 문법 오류가 아닌 실행 중간에 발생하는 '정상적이지 않은 상황' 을 의미
2.
자바의 기본 예외처리 매커니즘
•
문제가 발생한 지점에 대한 정보 출력
•
프로그램 종료
3.
Exception 클래스는 모든 예외처리 클래스의 조상 클래스
4.
예외(exception)와 오류(error)의 차이 : 수습 가능 여부
•
예외: 프로그램에 의해 수습될 수 있음
•
오류: 프로그램이 비정상적으로 종료됨
예외 처리의 두 가지 방법
1.
try-catch 구문
•
예시
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
// try-catch 문은 여러 개를 사용할 수 있음
try {
System.out.print("a/b...a? ");
int n1 = kb.nextInt();
System.out.print("a/b...b? ");
int n2 = kb.nextInt();
System.out.printf("%d / %d = %d \n", n1, n2, n1 / n2); // 예외 발생 지점
}
catch(ArithmeticException e) { // e : 참조변수
System.out.println(e.getMessage());
//.getMessage() : 발생한 예외에 대한 정보를 얻을 수 있음
}finally{
System.out.println(“무조건 실행”)
}
System.out.println("Good bye~~!");
}
Java
복사
•
수업 예제 : 문자 입력 걸러내기
코드 공유 1
코드 공유 2
2.
throws “에러 던지기”
•
프로그래머가 고의로 예외를 발생시키는 방법
•
예외를 프로그래머가 직접 처리하지 않고, 호출한 함수(또는 JVM)에 맡긴다는 뜻.
•
예제
•
여러 개의 예외를 한 번에 던지고 싶다면
public void method() `throws IOException, InputMismatchException` {}
Java
복사