728x90
- 프로그램 오류
1. 컴파일에러 : 컴파일 시 발생하는 에러
2. 런타임에러 : 실행 시에 발생하는 에러
3. 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것
4. 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
5. 오류(Exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
- 예외처리하기
정의 : 프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것
목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
try {
// 예외가 발생할 가능성이 있는 문장들을 넣는다.
} catch (Exception1 e1) {
// Exception1 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
} catch (Exception2 e2) {
// Exception2 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
} catch (ExceptionN eN) {
// ExceptionN 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
}
printStackTrace(), getMessage()
예외가 발생했을 때 printStackTrace(), getMessage()와 같은 메서드를 통해서 발생 원인을 알 수 있다.
- 예외 발생시키기
throw 를 사용해서 고의로 예외를 발생시킬 수 있다.
1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든다.
2. 키워드 throw를 이용해서 예외를 발생시킨다.
- 메서드에 예외 선언하기
void method() throws Exception1, Exception2, ... ExceptionN {
// 메서드의 내용
}
- finally 블럭
try {
// 예외가 발생할 가능성이 있는 문장들을 넣는다.
} catch (Exception e) {
// 예외처리를 위한 문장을 적는다.
} finally {
// 예외의 발생여부에 관계없이 항상 수행되어야하는 문장들을 넣는다.
// finally블럭은 try-catch 문의 맨 마지막에 위치해야한다.
}
'Java' 카테고리의 다른 글
배열, 배열레퍼런스, 배열인스턴스 (0) | 2021.10.28 |
---|---|
변수의 종류 (0) | 2021.09.29 |
변수 (0) | 2021.09.29 |
오버로딩 (0) | 2021.09.16 |
생성자는 언제 쓰나? (0) | 2021.09.14 |