예외 처리(Exception)
프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외(Exception)이라고 하며 이러한 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴을 수행하도록 하는 것
C++, Ada, Java, 자바 스크립트와 같은 언어에는 예외 처리 기능이 내장돼 있으며 그외의 언어에서는 필요한 경우 조건문을 이용해 예외 처리 루틴을 작성한다.
기본 형식
try{
예외가 발생할 가능성이 있는 코드;
}
catch(예외객체1 매개변수){
예외객체1에 해당하는 예외발생 시 처리 코드;
}
catch(예외객체2 매개변수){
예외객체2에 해당하는 예외발생 시 처리 코드;
}
catch(예외객체n 매개변수){
예외객체n에 해당하는 예외발생 시 처리 코드;
}
catch(Exception 매개변수){
예외객체1~n에 해당하지 않는 예외 발생 시 처리 코드;
}
finally{
예외의 발생 여부와 관계없이 무조건 처리되는 코드;
}
Java 주요 예외 객체
예외 객체 | 발생 원인 |
ClassNotFoundException | 클래스를 찾지 못한 경우 |
NotSuchMethodException | 메소드를 찾지 못한 경우 |
FileNotFoundException | 파일을 찾지 못한 경우 |
InterruptedIOException | 입출력 처리가 중단된 경우 |
ArithmeticException | 0으로 나누는 등의 산술 연산에 대한 예외가 발생한 경우 |
IllegalArgumentException | 잘못된 인자를 전달한 경우 |
NumberFormatException | 숫자 형식으로 변환할 수 없는 문자열을 숫자 형식으로 변환한 경우 |
ArrayIndexOutOfBoundsException | 배열의 범위를 벗어난 접근을 시도한 경우 |
NegativeArraySizeException | 0보다 작은 값으로 배열의 크기를 지정한 경우 |
NullPointException | 존재하지 않는 객체를 참조한 경우 |