ETC/1. Today I Learned

[Java] 예외 처리 (Exception)

montmer27 2025. 12. 5. 23:59

예외(Exception)란?

프로그램의 실행 과정에서 발생 가능한 문제들 중, 상대적으로 그 정도가 약하여 코드 수정으로 수습할 수 있는 것들을 보통 예외로 분류한다.

 

출처 : https://ittrue.tistory.com/140#google_vignette


예외의 발생 요인

- 내부적 요인

존재하지 않는 파일 호출, 배열 범위 초과 등

- 외부적 요인

입력 에러, 하드웨어 문제, 네트워크 문제 등


Java의 예외 처리 플로우

예외 발생 -> 예외 클래스 인스턴스화 -> 예외 객체로 예외 처리


예외의 유형

모든 예외는 Throwable 클래스에서 파생되며, Error와 Exception은 구분됨.예외는 다시 실행 예외(Runtime Exception)과 일반 예외(Exception)으로 구분됨.실행 예외와 거기에서 파생된 예외들을 제외한 나머지가 일반 예외이며, 이들을 일반 예외 클래스(Exception)라 함. 일반 예외는 컴파일러가 코드 실행 전에 예외 처리 코드 여부를 검사하기 때문에 Checked Exception이라고도 함. 보통 일반 예외 클래스라고 하면 실행 예외는 포함하지 않으나, 구조적으로는 Exception Class를 상속하고 있음. 실행 예외는 컴파일 단계에서 예외 처리 코드 여부를 검사하지 않기 때문에 Unchecked Exception이라고도 함.

1) 코드 실행 전, 컴파일 단계에서 발생 : Checked Exception

2) 코드 실행 중, 런타임에서 발생 : Unchecked Exception


예외 처리 방법

에러 미처리는 곧 예기치 못한 실행 중단으로 이어지기 때문에, 예외 처리는 중요하다. Try-Catch문이 쓰인다.

Try - 예외 발생 가능성이 있는 코드 블록

Catch - 예외 발생 시 처리할 코드 블록

- 괄호() 내부에 특정 예외 클래스를 명시하면 명기한 예외가 발생했을 때 실행되게 할 수 있고, 일반 예외 클래스를 적으면 모든 예외에 대해서 대비가 가능하다.