본문 바로가기
Java

[JAVA] 예외와 예외를 처리하는 방법(try~catch)

by bkuk 2022. 9. 11.

예외처리를 하는 이유는

프로그램 실행 시 발생 할 수 있는 예외에 대비해서 프로그램의 비정상적인 종료를 막고, 실행을 유지시키기 위함.

 

소스코드

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 에러가 발생.

* 하지만 에러가 발생한 이후에도 프로그램이 종료되지 않고 다음 실행문이 진행되는 것을 볼 수가 있음.

댓글