작성
·
231
답변 2
0
그러면 try로 line3 을 잡고 catch 에서 예외 처리하면
똑같이 프로그램이 종료가 되나요? 아니면 catch{} 문을 마무리하고 다시 Line 3 으로 돌아가나요 ?
0
안녕하세요. ghuhan18님, 공식 서포터즈 OMG입니다.
프로그램의 시작은 main()함수에서 시작하여 main() 안의 모든 코드(마지막줄까지 모두)가 실행되면, 프로그램은 종료됩니다.
public class Main {
public static void main(String[] args) {
// Line1. 코드 정상 실행
// Line2. 코드 정상 실행
// Line3. 실행 중 오류 발생!
// Line4. 다음 코드는 실행하지 않음
}
}
Line1부터 4까지 각각의 코드가 존재하고 실행하는 상황에서 중간에(Line3) 오류가 발생한다면 다음 코드(Line4)는 실행되지 않고 프로그램이 종료된다는 설명으로 이해하시면 될 것 같습니다 😀
질문에 남기신 Line10은 프로그램이 실행되는 main영역이 아니여서
후자로 이해하시는게 맞을 것 같아요^^
감사합니다.
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = 10;
int input = scanner.nextInt(); // 0을 입력
try {
num = num / input;
// 예외 발생
System.out.println("예외 발생 후");
} catch (Exception e) {
System.out.println("catch문 실행");
}
System.out.println("try-catch 바깥 호출");
}
}
코드의 실행 결과를 직접 확인해보시면 프로세스를 확인해보실 수 있을거라 생각합니다 ^^
그러면 try로 line3 을 잡고 catch 에서 예외 처리하면
똑같이 프로그램이 종료가 되나요? 아니면 catch{} 문을 마무리하고 다시 Line 3 으로 돌아가나요 ?