작성
·
38
·
수정됨
0
안녕하세요. 강사님
강의내용을 좀 더 눈에 들어오게 만들고 싶어 아래와 같이 표로 정리했습니다.
두 가지 질문이 있습니다.
질문1) 표로 분류한 것처럼 한 체크예외에 복구가능/복구불가 , 한 언체크예외에 복구가능/복구불가 분류가 가능한가요?
체크예외
복구 가능한 예외
복구 불가능한 예외
언체크예외
복구 가능한 예외
복구 불가능한 예외
질문2) 언체크예외 특징을 위 표로 정리를 했음에도 강의에서 문서화를 강조하신 이유를 파악하지 못했습니다.
개발자가 개발당시 미래에 실행중에 어떤 런타임예외가 발생할 지 모르기 때문에 즉, 런타임예외 모든 경우의수를 예측하기 어렵기 떄문에 '처리'를 하지 못한다고 이해해도 될까요? 따라서 운영중에 마주하게 되는 런타임예외들을 매 순간마다 문서에 기록해두라는 말씀이신지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 창신동 장첸님.
예외 처리와 관련하여 질문 주신 부분에 대해 답변 드리겠습니다.
체크 예외는 발생할 수 있는 예외를 컴파일 시점에서 강제적으로 처리하도록 요구합니다. 주로 외부 환경(예: I/O 작업, 네트워크 연결 등)의 영향을 받는 예외로 복구 가능한 예외로 분류될 수 있습니다. 하지만, 복구 불가능한 경우도 존재할 수 있습니다. 예를 들어, 파일을 찾을 수 없거나 데이터베이스 접근 오류 등은 상황에 따라 복구 가능 여부가 애매할 수 있습니다.
언체크 예외는 주로 프로그래밍 오류(NullPointerException, ArrayIndexOutOfBoundsException 등)와 같이 런타임에 발생하며, 코드의 논리적 오류를 의미합니다. 일반적으로 복구 불가능한 것으로 간주되지만, 특정한 경우에서 예외 처리 로직을 통해 복구할 수 있습니다.
그래서 특정 예외 종류에 따라 복구 가능성을 구분할 수 있으며, 복구 가능한 예외와 불가능한 예외의 구분은 구체적인 상황에 따라 달라질 수 있습니다.
언체크 예외의 경우, 발생할 수 있는 모든 상황을 예측하기 어려운 것이 사실입니다. 개발자는 예외를 예상하고 예외 상황을 처리할 수 있도록 코드를 작성해야 하지만, 종종 예상하지 못한 예외가 발생하여 시스템의 가용성에 영향을 줄 수 있습니다.
강의에서 문서화를 강조하신 이유는, 예외 발생 시 원인을 빠르게 파악하고 대응하기 위해 이를 기록하고 학습할 필요가 있기 때문입니다. 모든 가능한 예외를 미리 처리할 수 있는 것은 아니지만, 발생한 예외를 기록하고 분석함으로써 향후 발생 시 신속하게 대응할 수 있게 됩니다.
아래의 링크에서 유사한 내용을 더욱 자세히 다루고 있으니 확인해 보시면 도움이 될 것 같습니다:
1. 복구 불가능한 예외에 대한 질문 드립니다.
2. Checked, Unchecked 예외 변환 질문드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.