* 해당 게시물은 자바의 정석(책)을 참고하여 작성하였습니다.
에러
에러는 발생 시점에 3가지 종류로 나뉜다.
1. 컴파일 에러 - 컴파일 시에 발생하는 에러
2. 런타임 에러 - 실행시에 발생하는 에러
3. 논리적 에러 - 실행은 되지만, 의도와 다르게 동작하는 것
여기서 런타임 에러는 2가지로 나뉜다.
에러(error) - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외(exception) - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
예외 클래스
자바는 오류를 클래스로 정의되어 있다.
Exception의 자손 클래스로는 IOExeption, ClassNotFoundException, RuntimeException들이 있는데
자바의 예외 클래스는 RuntimeException과 그 외의 Exception들의 자손 클래스 2분류로 나뉜다.
앞으로 이 2가지의 분류들을 RuntimeException과 Exception이라고 쉽게 불러서 글을 쓰겠다.
RuntimeException - 사용자의 실수와 같은 요인에 의해 발생하는 예외
RuntimeException - 프로그래머의 실수로 발생하는 예외
1. try - catch - finally
가장 보편적인 예외처리 방식으로 아래는 종합적인 예시 코드이다.
try {
} catch (Exception e) {
e.printStackTrace(); //예외발생 당시의 호출스택에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다.
e.getMessage(); //발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있다.
} finally {
}
2. throws
throws를 이용하면 예외를 method에 선언할 수 있다.
위의 코드처럼 method의 선언부에 예외를 선언함으로써 method를 사용할 때 어떤 예외들이 처리되어야 하는지 쉽게 알 수 있다.
3. 사용자 정의 예외 method 생성
Exception class를 상속받아 나만의 custom 예외 클래스를 만들 수 있다.
* 요즘 메타로는 주로 RuntimeException을 상속받아서 unchecked 예외를 처리한다.
'준비중' 카테고리의 다른 글
서퍼(서울시 재난 알리미) 개인정보처리방침 (0) | 2024.05.07 |
---|---|
자바 복습하기(extends, super, abstract, interface편) (0) | 2023.08.03 |
자바 복습하기 (객체지향, 클래스, 인스턴스, 오버로딩, 생성자편) (0) | 2023.08.01 |
자바 복습하기 (배열편) (0) | 2023.08.01 |
자바 복습하기 (연산자, 조건문과 반복문편) (0) | 2023.07.31 |