티스토리 뷰


요즘 Exception에 대해서 정리하는거에 재미가 들렸나보다. 오늘은 ArithmeticException에 대해서 알아보자. 

ArithmeticException의 원인

ArithmeticException의 원인은 단순하다. 

"java api ArithmeticException" 이런식으로 구글에서 검색해보자. 맨 상단에 oracle사의 javase api 문서가 나오게 된다. 

 

https://docs.oracle.com/javase/8/docs/api/?java/lang/ArithmeticException.html

 

Java Platform SE 8

 

docs.oracle.com

Thrown when an exceptional arithmetic condition has occurred. For example, an integer "divide by zero" throws an instance of this class.

(번역) 예외적 인 산술 조건이 발생하면 발생합니다. 예를 들어 정수 "0으로 나누기"는이 클래스의 인스턴스를 발생시킵니다.

 

뭐 다들 알면서도 검색하지 않았을까 싶을 정도로 단순한 이유가 어떤 수를 0 으로 나누게 되면 발생하는 Exception이다. 

 

아주 쉽게 에러를 발생시켜보자면 이런식으로 발생 시킬수 있다.

package java8;

public class Test_ArithmeticException {
    public static void main(String[] args) {
        System.out.println( 10 / 0 );
    }
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
at java8.Test_ArithmeticException.main(Test_ArithmeticException.java:5)

실행하면 위와 같이 ArithmeticException를 만날수 있다. 

 

 

 

ArithmeticException 해결 방법

 

당연히 어떤 수를 0으로 나누지 않으면 된다. 단지 나누어야 하는 인수가 0으로 들어오는 경우 어떻게 처리할지에 대해서 고민이 되면 될것 같다. 아래처럼 0인 경우를 체크해야한다.

package practice;

public class Test_ArithmeticException {
    public static void main(String[] args) {
        int a = 10, b = 0;
        if( b != 0 ){
            System.out.println( a / b );
        }
    }
}

댓글
최근에 올라온 글
최근에 달린 댓글