보통 C# 에서는 그냥 Exception 하나로 퉁 치는 경우가 많다. 물론 각 속성별로 쪼개져 있기는 하지만, 그걸 일일히 다루지는 않는다. 왜냐하면 자바 처럼 Checked, Unchecked 개념 없이 모두 Exception을 상속 받았기 때문이다. 그러나 Java 에서는 좀 다르다.
두개의 타입으로 나눠지는데, Checked, Unchecked Exception으로 나뉜다.
- Checked Exception
- 컴파일 시점에서 반드시 try catch나 클래스에서 throws 로 선언이 되어 있어야 한다.
- 개발자가 인지하고 있다는 가정하게 대응을 요구하는 경우이다.
- IOException, SQLException, ClassNotFoundException등 이 여기에 해당된다.
- IOException
- FileNotFoundException
- EOFException
- InterruptedIOException
- SocketException
- UnknownHostException
- MalformedURLException
- ClassNotFoundException
- InstantiationException
- IllegalAccessException
- NoSuchMethodException
- InvocationTargetException 등 엄청나게 많다.
- IOException
- UnChecked Exception
- 컴파일 시점에 try catch 나 throws 를 설정하지 않아도 오류가 나지 않는다.
- RuntimeException과 그 하위 클래스 들로 구성되어 있다.
RuntimeException이 C# 에서 Exception에 해당하는 듯 하고, 스프링부트에선 주로 RuntimeException 류 를 사용한다.
'Java' 카테고리의 다른 글
| Atomic 자료형 (0) | 2025.12.12 |
|---|---|
| Optional.ofNullable 로 null-safe 처리 하기 (0) | 2025.11.04 |
| 파일 쓰고, 읽기 예제 (0) | 2025.10.02 |
| Stream API (0) | 2025.09.10 |
| Java Collections Framework (List, Map...) (0) | 2025.09.10 |