-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
예외 처리
24.04.02 22:41 작성 조회수 134
0
수업중에 만약 예외 처리를 못하고 계속 던지면 main() 밖으로 나가는 순간 예외 로그를 출력하면서 시스템이 종료된다고 나와 있는데, 시스템이 종료된다는 말은 무슨 말인가요 ?
저 아래 코드에서 다른 줄에 있는 .... 코드를 실행하지 않고 line 10 으로 건너뛴다는 이야기인가요? 아니면 건너뛰지도 않고 그냥 끝나버린다는 말인가요 ?
public class Main {
public static void main(String[] args) {
........
..........
}
} ( line 10)
답변을 작성해보세요.
0
ghuhan18
질문자2024.04.03
그러면 try로 line3 을 잡고 catch 에서 예외 처리하면
똑같이 프로그램이 종료가 되나요? 아니면 catch{} 문을 마무리하고 다시 Line 3 으로 돌아가나요 ?
0
OMG
2024.04.03
안녕하세요. ghuhan18님, 공식 서포터즈 OMG입니다.
프로그램의 시작은 main()함수에서 시작하여 main() 안의 모든 코드(마지막줄까지 모두)가 실행되면, 프로그램은 종료됩니다.
public class Main {
public static void main(String[] args) {
// Line1. 코드 정상 실행
// Line2. 코드 정상 실행
// Line3. 실행 중 오류 발생!
// Line4. 다음 코드는 실행하지 않음
}
}
Line1부터 4까지 각각의 코드가 존재하고 실행하는 상황에서 중간에(Line3) 오류가 발생한다면 다음 코드(Line4)는 실행되지 않고 프로그램이 종료된다는 설명으로 이해하시면 될 것 같습니다 😀
질문에 남기신 Line10은 프로그램이 실행되는 main영역이 아니여서
후자로 이해하시는게 맞을 것 같아요^^
감사합니다.
ghuhan18
질문자2024.04.03
그러면 try로 line3 을 잡고 catch 에서 예외 처리하면
똑같이 프로그램이 종료가 되나요? 아니면 catch{} 문을 마무리하고 다시 Line 3 으로 돌아가나요 ?
OMG
2024.04.04
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 바깥 호출");
}
}
코드의 실행 결과를 직접 확인해보시면 프로세스를 확인해보실 수 있을거라 생각합니다 ^^
답변 2