Java
Exception Handling
#
Find similar titles
-
최초 작성자
jskim-intern@insilicogen.com
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
예외(Exception)란 #
예외(Exception)란 프로그램 실행 중에 발생할 수 있는 예기치 않는 사소한 에러를 말한다.
- 치명적인 에러(Memory Full 등)와 달리 프로그램이 종료되어야 할 필요까지는 없는 작은 에러(파일이 존재하지 않는 경우, 네트워크의 단절 등)를 의미한다.
JVM(JRE)의 경우 프로그램 실행 중에 사소한 예외가 발생하면 예외 메시지(로그)를 콘솔에 출력한 후 프로그램을 강제 종료하는 기본 메커니즘을 가진다.
- Standard API에는 프로그램 실행 중 발생할 수 있는 다양한 예외들을 추상화하여 많은 예외 클래스들을 제공하며, JVM은 해당 예외 인스턴스를 생성하여 예외를 발생시킨다.
발생시킨 예외 인스턴스를 개발자가 명시적으로 처리(Handling) 하지 않을 경우 JVM은 예외 관련 메시지를 화면에 출력한 후 프로그램을 강제 종료한다.
Exception Class #
Exception Class | 설명 |
---|---|
ClassCastException | 억지로 타입 변환을 시도한 경우 |
ArithmeticException | 수학적 연산이 불가능한 상황에서 시도한 경우 |
NullpointerException | 객체 참조가 없는 상태에서 사용할 경우 |
ArrayIndexOutOfBoundsException | 배열에서 인덱스 범위를 초과하여 사용할 경우 |
ClassNotFoundException | Class를 찾을 수 없는 경우 |
NumberFormatException | 숫자로 변환할 수 없는 문자를 변환할 경우 |
FileNotFoundException | 파일을 찾을 수 없는 경우 |
예외 처리(Exception Handling) #
예외 직접 처리 #
예외가 발생한 메소드 내에서 직접 처리하기 위한 구문(try - catch - finally)
try{
// 예외가 발생할 가능성이 있는 코드들
}catch(예외 클래스 매개변수){
// 예외 처리 코드
}catch(Exception ex){
// 예외 처리 및 예외 메시지 출력
}filnally{
// 예외 발생 여부와 관계없이 항상 실행되는 코드
}
예외 간접 처리 #
예외가 발생한 메소드 밖에서 간접 처리하기 위한 구문(throws)
public void method() throws Exception{
// 예외가 발생할 가능성이 있는 코드
}