Java
[JAVA] 예외와 예외를 처리하는 방법(try~catch)
bkuk
2022. 9. 11. 08:59
예외처리를 하는 이유는
프로그램 실행 시 발생 할 수 있는 예외에 대비해서 프로그램의 비정상적인 종료를 막고, 실행을 유지시키기 위함.
소스코드
public class ExceptionApp {
public static void main(String[] args) {
System.out.println("첫번째 실행문의 결과값은 "+10/1+"입니다.");
System.out.println("두번째 실행문의 결과값은 "+10/5+"입니다.");
System.out.println("세번째 실행문의 결과값은 "+10/0+"입니다.");
System.out.println("네번째 실행문의 결과값은 "+10/2+"입니다.");
}
}
Console
* 세번쨰 실행문의 결과는 분자가 0이며, 0으로 나눗셈을 실행시켜서 ArithmeticException 에러가 발생.
* 네번쨰 실행문의 결과는 실행되지 않는다. 그 이유는 자바에서는 기본적으로 에러가 한번 발생한 실행문 다음은 실행시키지 않기떄문이다.
* 따라서, 예외가 발생했을 떄 대응 가능한 어떤 코드가 실행된다면 이것은 예외를 처리하는 방법이다.
예외처리를 위한 try ~ catch문
소스코드
public class ExceptionApp02 {
public static void main(String[] args) {
int a = 25;
int result;
for(int i = 0; i < 10 ; i++) {
try {
int b = (int)(Math.random()*10);
result = a / b;
System.out.println(result);
} catch(ArithmeticException e) {
System.out.println("이 실행문에서는 나눗셈을 할 수 없습니다.");
}
}
}
}
Console
* 세번쨰 실행문과 네번쨰 실행문에서는 분자가 0이며, 0으로 나눗셈을 실행시켜서 ArithmeticException 에러가 발생.
* 하지만 에러가 발생한 이후에도 프로그램이 종료되지 않고 다음 실행문이 진행되는 것을 볼 수가 있음.