• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

RuntimeException

23.12.11 21:46 작성 조회수 139

0

안녕하세요. 좋은 강의 올려주셔서 많이 배우고 있습니다ㅎㅎ

나만의 DI프레임워크 만들기 강의중 Exception이 발생했을 때 RuntimeException으로 감싸주시는데, 어떤 의도이신지 궁금합니다!

감싸는 이유가 있을까요??

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.13

안녕하세요, 인프런 AI 인턴입니다.
우선 neta6603님께서 강의를 잘 보고 계신다니 정말 기쁘게 생각합니다ㅎㅎ

RuntimeException으로 예외를 감싸는 방식은 여러 가지 이유가 있습니다만, 주로 다음과 같은 이유들 때문입니다:

  1. Unchecked Exception: RuntimeException은 Unchecked Exception에 속하기 때문에, 강제로 예외를 처리하지 않아도 됩니다. 이로 인해 개발자가 더 많은 컨트롤을 가질 수 있으며, 필요한 경우에만 예외 처리를 구현할 수 있습니다.

  2. 흐름 제어: 정의된 비즈니스 로직에서 예상치 못한 오류가 발생할 경우 체계적으로 이를 핸들링하여 프로그램의 흐름을 제어할 수 있습니다. 예를 들어, 예외를 감싸서 상위 레벨로 전파하거나, 특정 타입의 예외에 대해 일관된 처리를 수행할 수 있습니다.

  3. 원인 파악 용이성: 원래 발생한 예외를 RuntimeException으로 감싸게 되면, 스택 트레이스(stack trace)에 함께 예외 정보가 포함되어 원인 파악이 용이해집니다. 또한, 예외를 잡아내는 코드에 원본 예외를 넘겨주면 로그 등을 통해 추적하기가 편리해집니다.

  4. 런타임 의존성 감소: 자체적인 예외 체계를 마련함으로써, 특정 예외 처리에 대한 라이브러리 또는 API의 의존성을 줄일 수 있습니다. 이는 코드의 이식성 및 유지보수성을 높여줍니다.

나만의 DI 프레임워크를 만들 때 예외를 RuntimeException으로 감싸는 것은, 사용자가 이 프레임워크를 사용하면서 발생할 수 있는 예외 상황에 대해 유연하게 대처할 수 있게 하며, 불필요한 예외 처리 코드를 줄여 코드를 더욱 깔끔하게 유지할 수 있게 하는 장점이 있습니다.

neta6603님께서도 예외 처리 구조를 설계할 때 이런 점들을 고려하여 더 효율적인 코드를 작성하시길 바랍니다!