예외 처리

5BRack·2022년 7월 1일

자바란?

목록 보기
21/42

예외 처리

예외 처리 문법

  • 예외 처리 문법은 크게 3가지 요소(try,catch,finally)로 구성돼 있다.
  • try - 예외발생을 유발할 수 있는 코드를 블록으로 처리
  • catch - 예외발생시, 예외 처리 코드를 블록으로 처리
  • finally - 예외가 발생하던, 안하던 무조건 처리되는 코드를 블록으로 처리
try{
	// 예외 발생을 유발할 수 있는 코드
}catch(예외 클래스명 참조 변수명){
	// 예외 발생시, 실행문
}finally{
	// 예외가 발생을 하던 안하던 무조건 실행되는 코드
}

다중 예외 처리(순차적 처리 구문)

  • 다중 예외 처리 코드를 사용시, 예외를 여러개 한번에 처리할 수 있다.
  • 위에서부터 순차적으로 처리되기 때문에 하위 코드가 실행될 수 있게 순서를 지정해야 한다.
try{
	// 예외 발생을 유발할 수 있는 코드
}catch(예외 클래스명 참조 변수명){
	// 예외 발생시, 실행문
}catch(예외 클래스명 참조 변수명){
	// 예외 발생시, 실행문
}finally{
	// 예외가 발생을 하던 안하던 무조건 실행되는 코드
}

다중 예외 처리(동일 처리 구문)

  • 다중 예외 처리 과정에서 각각 예외가 발생하였을 때 처리하는 내용이 동일하면 | 기호를 이용해 처리할 수 있다.
try{
	// 예외 발생을 유발할 수 있는 코드
}catch(예외 클래스명 참조 변수명 | 예외 클래스명 참조 변수명){
	// 조건에 명시된 예외 발생시, 실행문이 동일하게 처리된다.
finally{
	// 예외가 발생을 하던 안하던 무조건 실행되는 코드
}

리소스 자동 헤제 예외 처리

  • finally{} 블록은 항상 실행해야 하는 기능이 있을 때 사용하는 블록이다.
  • 항상 실행해야 하는 기능 중 하나가 리소스 헤제 이다.
  • try()구문 ()에 자동으로 리소스를 반납해야 할 객체를 생성하면 예외처리 구문이 실행되고 '무조건' 실행된다.
  • try()에 들어갈 객체는 close() 메서드가 존재해야 하는데, 이는 해당 객체가 AutoCloseable 인터페이스를 상속받은 객체이어야 지만, try()구문에 들어갈 수 있다.
try(리소스 자동 헤제가 필요한 객체 생성){
	// 예외 발생을 유발할 수 있는 코드
}catch(예외 클래스명 참조 변수명 ){
	// 예외 발생시, 실행문
finally{
	// 예외가 발생을 하던 안하던 무조건 실행되는 코드
}

0개의 댓글