2018-3-9 TIL Exception
예외처리
- 프로그램에서 ‘예외’는 실행 중에 발생하는 정성적이지 않은 상황을 말한다.
package yoon;
import java.util.Scanner;
public class ExceptionCase {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
System.out.print("a/b...a?");
int n1 = kb.nextInt();
System.out.print("a/b...b?");
int n2 = kb.nextInt();
System.out.printf("%d / %d = %d \n", n1, n2, n1 / n2);
}
}
//result
a/b...a?8
a/b...b?0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at yoon.ExceptionCase.main(ExceptionCase.java:12)
- java.util.InputMismatchException
- java.lang.ArithmeticException
- 위의 경우는 예외상황을 알리기 위한 예외클래스이다.
try ~ catch
try {
...관찰 영역...
}
catch(Exception name) {
...처리 영역...
}
- try영역에서 발생한 예외 상황을 catch영역에서 처리한다
package yoon;
import java.util.Scanner;
public class ExceptionCase {
public static void main(String [] args) {
Scanner kb = new Scanner(System.in);
try {
System.out.print("a/b...a?");
int n1 = kb.nextInt();
System.out.print("a/b...b?");
int n2 = kb.nextInt();
System.out.printf("%d / %d = %d \n", n1, n2, n1 / n2);
// 예외가 발생하는 지점
}
catch (ArithmeticException e) {
System.out.println(e.getLocalizedMessage());
}
}
}
//result
a/b...a?2
a/b...b?0
/ by zero
- try ~ catch문을 이용하면 위와같이 예외상황을 처리할 수 있다.
Written on March 9, 2018