Java의 Exception이 처리되는 순서를 설명하시오. catch안에 exception이 또 발생하는 경우의 상황을 설명하시오
1. 예외 발생 : 프로그램이 예외 상황에 직면하면 해당 예외 발생.
2. 예외 처리 : Java는 해당 예외를 적절하게 처리하기 위해 catch블록을 찾는다. catch블록은 try블록 내에서 예외가 발생한 경우 실행 될 코드를 포함한다.
3. catch 블록 실행 : 가장 구체적인 예외 타입과 일치하는 catch블록이 실행된다. java는 catch블록을 위에서 아래로 순차적으로 확인하며, 처음으로 매칭되는 catch블록을 실행한다.
4. 다중 catch블록 : 여러 종류의 예외를 처리해야 하는 경우, 각각의 예외 타입에 대해 별도의 catch블록을 사용할 수 있다. Java7이후부터는 다중 catch블록을 사용하여 하나의 catch블록에서 여러 예외를 처리할 수 있다.
5. 예외 전파 : 만약 catch블록에서 예외를 완전히 처리하지 않고 다시 throw하면, 해당 예외는 상위 호출자로 전파 된다. 이 경우, 상위 호출자는 동일한 예외를 처리하거나 더 상위 계층으로 예외를 전달할 수 있다.
6. finally 블록 실행 : 예외 발생 여부와 관계업이 finally 블록은 항상 실행 된다.
만약 catch블록에서 다시 예외가 발생한다면, 이 예외는 catch블록에서 적절한 방식으로 처리되어야 한다. 다시 발생한 예외는 이전 예외와는 별개로 처리되며, 다시 상위 호출자로 전파될 수 있다. 이런 경우, 예외를 적절하게 처리하고 로그를 기록하는 등의 작업을 수행하여 예외 상황을 적절하게 다루어야 한다.
'TIL' 카테고리의 다른 글
| TCP 송/수신 원리 - 전 편에 이어서 (0) | 2024.03.01 |
|---|---|
| TCP 송/수신 원리 (1) | 2024.02.28 |
| 면접 준비 13 - JPA N+1 문제 원인과 해결방안 (0) | 2023.08.01 |
| 면접 준비 12 - RDB와 NoSQL은 무엇인가요? (0) | 2023.07.31 |
| 면접 준비 11 - 오버로딩과 오버라이딩의 차이점? (0) | 2023.07.31 |