[JAVA]ch7. 예외처리

황인권·2024년 6월 3일

JAVA

목록 보기
7/15

1. 예외처리

컴파일 에러 : 컴파일 시 발생하는 에러
런타임 에러 : 실행시 발생하는 에러
논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것

에러(error) :
프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외(exception) :
프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

예외 클래스의 계층구조

  • Exception 클래스들
    • 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
  • RuntimeException 클래스들
    • 프로그래머의 실수로 발생하는 예외

예외처리하기

  • 예외처리(exception handling)
    • 정의
      프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것
    • 목적
      프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것

메서드에 예외 선언하기

  • 자바에서는 메서드를 작성할 때 메서드 내에서 발생할 가능성이 있는 예외를 메서드의 선언부에 명시하여 이를 메서드를 사용하는 쪽에서는 이에 대한 처리를 강요하기 때문에, 프로그래머들의 짐을 덜어주는 것은 물론이고 보다 견고한 프로그램 코드를 작성할 수 있도록 도와준다.
void method() throw Exception1, Exception2 {
	//메서드 내용
}

finally 블록

  • try-catch 문과 함께 예외의 발생여부에 상관없이 실행되어야할 코드를 포함시킬 목적으로 사용된다.
  • try 블록이나 catch 블록에서 return 문이 실행되는 경우에도 finally 블럭의 문장들이 먼저 실행된 후에, 현재 실행중인 메서드를 종료한다.

자원 자동 반환

  • 주로 입출력에 사용되는 클래스를 사용할 때 유용하다.

예외 되던지기(Exception Re-Throwing)

  • 이 방법은 하나의 예외에 대해서 예외가 발생한 메서드와 이를 호출한 메서드 양쪽 모두에서 처리해줘야 할 작업이 있을 때 사용된다.
  • 이 때 주의할 점은 예외가 발생할 메서드에서는 메서드의 선언부에 발생할 예외를 throws에 지정해줘야 한다.
profile
inkwon Hwang

0개의 댓글