본문 바로가기

JAVA/복습

Exception 발생시키기

package Java02;

public class ExceptionThrowExam {

    public static void main(String[] args) {

        // 정수에 값 넣기
        int i = 10;
        int j = 0;

        try {
            int k = divide(i, j);
            System.out.println(k);
        } catch (IllegalArgumentException e) {
            System.out.println(e.toString());
        }

    }

    // 정수 값 2개를 입력받고 그 정수를 나누어서 결과를 리턴하는 divide라는 메서드 정의
    public static int divide(int i, int j) throws IllegalArgumentException {

        if (j == 0) {
            //new 앞에 throw라는 키워드가 있다면
            // 해당 라인에서 Exception이 발생한다라는 뜻.
            throw new IllegalArgumentException("0으로 나눌 수 없습니다.");

        }
        int k = i / j;
        return k;
    }
}

강제로 오류를 발생시키는 throw

throw는 오류를 떠넘기는 throws와 보통 같이 사용.

 


-- 코드 분석

  if (j == 0) {
            //new 앞에 throw라는 키워드가 있다면
            // 해당 라인에서 Exception이 발생한다라는 뜻.
            throw new IllegalArgumentException("0으로 나눌 수 없습니다.");

        }

- j가 0일 경우에 new연산자를 통하여 IllegalArgumentException 객체가 만들어 진다.

- new 앞에 throw 는 해당 라인에서 Exception이 발생한다는 의미

   즉, "해당 줄에서 오류가 발생한다라는 의미"

            출력 메세지로  "0으로 나눌수 없습니다. "라는 오류가 발생

- Exception클래스 이름을 보면 아규먼트가 잘못되었기 때문에 발생한 오류라는 것을 알 수 있다.

 

'JAVA > 복습' 카테고리의 다른 글

Object와 overriding  (0) 2021.10.17
사용자 정의 Exception  (0) 2021.10.16
throws  (0) 2021.10.16
Exception - 예외  (0) 2021.10.13
내부클래스 - local 클래스 / 익명클래스  (0) 2021.10.13