Java 예외 처리는 실행 중 정상 흐름을 벗어난 상황을 예외 객체와 처리기로 전달하는 방식이다.
Java 실행과 API |
|---|
JVM · javac · Java 바이트코드 · Java 가비지 컬렉션 · Java 제네릭 |
Java 인터페이스 · Java 예외 처리 · Java Stream API · Java Optional · Java 리플렉션 |
원리
예외가 발생하면 호출 스택에서 대응하는 처리기를 찾는다. try와 catch로 처리 범위를 정하고 호출자가 처리하도록 예외를 전달할 수도 있다.
예시
파일 읽기에 실패했을 때 원인 예외를 보존하면서 사용자에게 설명할 메시지로 바꿀 수 있다. 복구 가능한 오류와 프로그램 결함을 구분해 대응한다.
주의할 점
예외를 잡고 아무 동작도 하지 않으면 실패가 성공처럼 보일 수 있다. 체크 예외와 비체크 예외의 규칙을 구분하고 자원 정리는 try-with-resources 등 명확한 수단을 쓴다.