import java.util.Scanner;
//예외처리 문법
public class Exam_01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 예외 처리 : try-catch
try {
//예외가 발생할 것으로 예상되는 코드를 넣는다.
//Integer.parseInt(sc.nextLine());
//System.out.println("A");
System.out.print("숫자를 입력하세요 : ");
int num = Integer.parseInt(sc.nextLine());
System.out.println("입력하신 숫자는 : " + num);
//try문에는 꼭 catch문이 따라온다.
} catch(Exception e) {
//예외가 발생했을 경우의 실행문
//예외가 발생하지 않았을 경우에는 실행되지 않는다.
//catch문의 () 에는 해당 catch문을 통해 예외처리를 실행할 예외의 종류를 기입하게 됨.(이후 배움)
//System.out.println("B");
System.out.println("입력값이 숫자가 아닙니다.");
}
//System.out.println("C");
System.out.println("예제종료.");
/*
* Integer.parseInt(sc.nextLine());에 예외가 발생하지 않으면
* try문의 syso "A"와 바깥의 "C"가 출력되고,
*
* 예외가 발생할 경우 try문의 Integer.parseInt 이후
* 예외발생지점 직후 바로 throw로 튕겨져 나가서 syso "A"가 출력되지 않고,
* 예외가 발생했기 때문에 catch문의 syso "B"가 실행되고
* 예외가 발생했지만 try-catch로 예외처리가 되었기 때문에
* 프로그램이 정상적으로 계속 진행되어
* 그 이후에 바깥에 syso "C"가 출력된다.
*
*/
}
}
Comment