카테고리 없음

예외(Exception)

JP59 2021. 3. 8. 18:42


예외는 프로그램을 작동시킬 때 예기치 못한 상황이 발생하는 것을 말한다.
프로그래머가 의도한 상황이 아니기 때문에 프로그램 실행 전체에 악영향을 미친다.

개발자가 조치할 수 없는 수준의 오류를 에러, 수습가능한 수준을 예외라 하는데 

예외 구분의 기본에는

 

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){     .......        }

로 처리하면 되겠다.