코딩/Java

예외 만들기

지금까지 API의 소비자로서 API 측에서 던지는 예외를 처리했었다. 이번에는 API의 생산자로서 소비자들에게 API를 제공하는 입장이 되어 보자

 

위의 코드에서 예외가 발생한 이유는 10을 0으로 나누려고 하기 때문이다.

setOprands를 통해 입력된 두번째 인자의 값이 0이기에 발생한 문제이다. 

여기서 우리가 할 수 있는 조치는 두가지다.

1. setOprands의 두번째 인자로 0이 들어오면 예외를 발생

2. 메소드 divide를 실행할 때 right의 값이 0이면 예외를 발생

 

위의 코드는 두번째의 방법을 적용한 방법이다. 첫번째 방법은 주석으로 되어있다.

 

              예외                                     사용해야 할 상황
IllegalArgumentException   매개변수가 의도하지 않은 상황을 유발시킬 때
IllegalStateException   메소드를 호출하기 위한 상태가 아닐 때
NullPointerException 매개 변수 값이 null 일 때
IndexOutOfBoundsException 인덱스 매개 변수 값이 범위를 벗어날 때
ArithmeticException 산술적인 연산에 오류가 있을 때

 

 

 

checked와 unchecked (생활코딩)

 

예외의 여러가지 상황들

위의 코드를 보자 ArithmeticException은 예외처리를 따로 하지 않아도 되었다. 왜냐하면 unchecked이기 때문이다.

하지만 IOException1 과 IOException2는 checked이기 때문에 반드시 그 예외처리하는 예외처리가 존재 해야한다.

'코딩 > Java' 카테고리의 다른 글

object 클래스  (0) 2021.01.06
자바 나만의 예외 만들기  (0) 2021.01.06
자바 scanner  (0) 2021.01.02
자바 예외 던지기  (0) 2021.01.01
자바 finally  (0) 2020.12.30