본문 바로가기

Java

예외처리

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