WEEK 3-3: Java 예외와 예외처리

ensalada.de.pollo·2025년 5월 3일

be

목록 보기
7/44

예외(Exception)

예외는 프로그램 실행 중 예상치 못한 상황이 발생하는 것을 의미합니다.
예외가 발생하게 되면 프로그램이 비정상적으로 종료될 수 있으므로 try-catch 구문을 통한 예외 처리가 필요합니다.

// 의도하지 않은 예외
int result = 10 / 0; // ArithmeticException

0으로 나누는 행위는 따로 정의되지 않았으므로 ArithmeticException이 발생하며, 이 후 프로그램이 종료됩니다.

// 의도적인 예외
if (age < 18) {
	throw new IllegalArgumentException("미성년자는 접근할 수 없습니다");
}

throw 키워드를 사용하여 의도적으로 예외를 발생시킬 수 있습니다.

예외의 종류

  1. UncheckedException(RuntimeException)
    : RuntimeException을 상속받는 예외들입니다. 예외 처리를 컴파일러가 강제하지 않아서 try-catch 구문을 생략하여도 컴파일 에러가 발생하지 않습니다. 대표적으로는 NullPointerException, ArithmeticException 등이 이에 해당합니다.
  2. CheckedException
    :Exception을 직접 상속받는 예외들입니다(RuntimeException 제외). 예외 처리를 컴파일러가 강제하므로 try-catch 구문을 사용하거나 throws를 통해 예외를 상위로 전가해야 합니다. 대표적으로는 IOException 등이 있습니다.

예외의 전파

예외가 발생한 메서드에서 예외를 처리하지 않으면, 예외는 메서드를 호출한 쪽으로 전파가 됩니다. 전파가 되다보면, main()까지 전파가 되는데 여기서 조차도 예외가 처리되지 않으면 프로그램이 종료됩니다.

예외 처리의 필요성

프로그램이 비정상적으로 종료되는 상황은 말 그대로 비정상적인 상황이기 때문에, 안정성에 영향을 미칩니다. 프로그램의 안정성과 신뢰성을 보장하기 위해서는 예외 처리를 필수적으로 해주어야 합니다.

자료 및 코드 출처: 스파르타 코딩클럽

0개의 댓글