JAVA
221017 Throw 실습
주영재
2022. 10. 17. 17:13
package quiz16;
import java.util.Scanner;
public class Calculator {
public static int input()throws Exception{
/*
* 1. 스캐너로 정수 2개를 입력을 받습니다.
* 2. 입력된 값이 정수라면 합계를 반환합니다.
* 3. 예외가 발생될 수 있는 상황이라면 throw를 이용해서 메서드를 종료하고 예외메시지를 전달해주면 됩니다.
* 4. scan.close()는 finally문장에서 사용하세요
*/
Scanner scan=null;
try {
scan= new Scanner(System.in);//초기화를 안에서 하면 밖에서 선언된 변수를 {}밖 다른곳에서도 사용가능
int a = scan.nextInt();
int b = scan.nextInt();
return a+b;
} catch (Exception e) {
throw new Exception("숫자로 입력하세요"); // 예외생성
}finally {
scan.close();
}
}
}
package quiz16;
public class MainClass2 {
public static void main(String[] args) {
try {
System.out.println(Calculator.input());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
5
4
9
또는
5
사
java.lang.Exception: 숫자로 입력하세요
at quiz16.Calculator.input(Calculator.java:22)
at quiz16.MainClass2.main(MainClass2.java:7)
숫자로 입력하세요
스캐너로 받을 때 문자를 받는다는 예외가 발생할 수 있음. 때문에 받을 때 바로 try catch 실행.