해결된 질문
작성
·
143
·
수정됨
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
아래는 pdf에 나온 설명입니다.
Exception(예외)
자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 main 이라는 이름의 쓰레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면, 예외 정보를 남기고 해당 쓰 레드는 종료된다.
자바 문법책으로 공부할 때 try catch 없이 예외가 터지면 프로그램이 종료되고,
try catch 없더라도 throws를 통해 메서드를 호출한 곳으로 떠넘기면, 그곳에서 try catch를 하거나, 아니면 또 계속 떠넘겨서 main 메서드에서도 throws를 통해 JVM이 예외를 처리하는 방법도 있다고는 알고 있습니다.
강의 자료 pdf에 나온 "실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면"
이 의미는 throws 키워드를 사용해서 계속 떠넘겼다는 의미인가요? 아니면 throws를 안 쓰더라도 저런 식으로 예외가 넘어간다고 생각하면 되는 건가요?
답변 1
1
체크 예외와 언체크(런타임) 예외의 차이는
이름에서 보이는 것처럼 넘어가기 위해서 체크를 해야 하느냐, 체크하지 않아도 넘어갈 수 있느냐 로 간단하게 말씀드릴 수 있을 것 같습니다!
영한님의 김영한의 실전 자바 - 중급 1편 강의 중 섹션 9, 10 강을 학습하시는 것을 추천합니다!
아마
아 그럼 제가 본문에 적은 내용(throws를 해야 상위에게 떠넘긴다.)은 체크 예외에 해당되는 거고, 런타임 예외의 경우엔 throws를 하든 안 하든 똑같이 상위로 넘어간다고 생각하면 될까요?
자바 공부할 때 이 내용은 안 배운 거 같은데 검색해 보니 자바 기본 문법 같네요..
감사합니다!