작성
·
168
0
문득 궁금한 점이 예외가 발생되어서 catch문으로 잡아서 처리하지 않으면 프로그램이 종료되는걸로 알고 있습니다.
여기서 중복 이름 일때 예외 발생시키고 어디서도 catch로 잡아 주지 않았는데 왜 프로그램이 종료되지 않는지 궁금합니다 ㅠㅠ
답변 2
1
0
안녕하세요. 김남현님
자바를 처음 실행하는 main() 메서드에서 예외를 잡지 못하면 프로그램이 종료됩니다.
그런데 웹 애플리케이션은 웹 서버(톰켓)이 뜨게 되는데요.
이 웹서버 자체는 자바이기 때문에 main() 메서드로 실행되는게 맞습니다.
그런데 이 웹서버는 고객의 HTTP 요청이 넘어오면 별도의 쓰레드를 생성해서 실행합니다. 따라서 예외가 넘어와도 해당 쓰레드에만 영향을 주게 되어있습니다. 그리고 웹 서버는 예외가 넘어오면 별도의 예외 처리를 하는 로직이 모두 들어있습니다.
감사합니다.