TMI개발일기
예외(Exception) 본문
예외는 프로그램을 작동시킬 때 예기치 못한 상황이 발생하는 것을 말한다.
프로그래머가 의도한 상황이 아니기 때문에 프로그램 실행 전체에 악영향을 미친다.
개발자가 조치할 수 없는 수준의 오류를 에러, 수습가능한 수준을 예외라 하는데
예외 구분의 기본에는
try-catch(+finally)문이 있다 아래 코드를 보면서 이해해 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// int c[] = {2,0};
int a =2;
int b= a/0;
}catch(java.lang.ArithmeticException e) {
System.out.println("산술 확인");
}
}
}
|
cs |
변수 b는 그 값이 성립할 수 없다
0으로 나눴기 때문인데 컴파일 하면 오류가 발생한다.
이때 try catch 문으로 오류 발생 구문을 미리 정해두고 해당 오류 발생 시
catch구문에 따라 오류를 처리할 수 있다.
해당 오류는 산술 오류 이므로 ArithmeticException 을 선언해 줘서
해결한다.
finally문은 선택적 문법인데 try구문에서 오류가 발생하든 하지 않았든
반드시 실행되는 구문이다.
객체지향언어인 자바는 예외처리도 객체로 구성되어 있어 각 클래스마다 상속관계인데
예외의 상위 클래스는 Exception 클래스이므로 모든 예외를 하나의 catch로 처리하고 싶으면
catch(Exception e){ ....... }
로 처리하면 되겠다.