• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

예외 발생 시킬때

20.10.14 16:47 작성 조회수 126

0

문득 궁금한 점이 예외가 발생되어서 catch문으로 잡아서 처리하지 않으면 프로그램이 종료되는걸로 알고 있습니다.

여기서 중복 이름 일때 예외 발생시키고 어디서도 catch로 잡아 주지 않았는데 왜 프로그램이 종료되지 않는지 궁금합니다 ㅠㅠ

답변 2

·

답변을 작성해보세요.

1

김남현님의 프로필

김남현

질문자

2020.10.14

아하 쓰레드를 생각 못했었네요 감사합니다

0

안녕하세요. 김남현님

자바를 처음 실행하는 main() 메서드에서 예외를 잡지 못하면 프로그램이 종료됩니다.

그런데 웹 애플리케이션은 웹 서버(톰켓)이 뜨게 되는데요.

이 웹서버 자체는 자바이기 때문에 main() 메서드로 실행되는게 맞습니다.

그런데 이 웹서버는 고객의 HTTP 요청이 넘어오면 별도의 쓰레드를 생성해서 실행합니다. 따라서 예외가 넘어와도 해당 쓰레드에만 영향을 주게 되어있습니다. 그리고 웹 서버는 예외가 넘어오면 별도의 예외 처리를 하는 로직이 모두 들어있습니다.

감사합니다.