[강의] Java Exception

Jerry·2025년 7월 14일

Topic

Exception

What I Learned

에러와 예외(Exception)

  • 프로그램 수행 시 치명적 상황이 발생하여 비정상 종료 상황이 발생한 것을 프로그램 에러라고 합니다.
  • 컴파일 에러, 런타임 에러, 시스템 에러 등이 있습니다.
  • 소스 수정으로 해결 가능한 에러를 예외(Exception)라고 합니다.

예외 클래스 계층 구조

  • Exception과 Error 클래스 모두 Object 클래스의 자손이며 모든 예외의 최고 조상은 Exception 클래스입니다.
  • Error OutOfMemoryError, StackOverflowError 등 JVM 관련 오류로 예외 처리로 해결할 수 없습니다.
  • Checked Exception IOException, SQLException 등 컴파일 시 반드시 예외 처리를 해야합니다.
  • Unchecked Exception(RuntimeException 하위) NullPointerException, IllegalArgumentException 등 예외 처리가 강제화되지 않습니다.

예외 클래스 종류

Exception

  • RuntimeException Unchecked Exception 오류가 많아서 예외 처리보다 코드를 수정해야 하는 경우가 많습니다.
    • ArithmeticeException 0으로 나누는 경우
    • NegativeArraySizeException 배열 크기를 음수로 지정한 경우
    • NullPointerException Null인 참조 변수로 객체 멤버를 참조하는 경우
    • ArrayIndexOutOfBoundsException 배열의 index 범위를 넘어 참조하는 경우
    • ClassCastException Cast 연산자 사용 시 타입 오류

예외 처리 방법

  1. throws로 호출한 메소드에게 Exception 위임
  2. try-catch문으로 Exception이 발생한 곳에서 직접 처리
profile
Backend engineer

0개의 댓글