프로그래밍/JAVA Spring

[JAVA 자바] NumberFormatException은 IllegalArgumentException을 상속한다 / Exception 계층 구조

hectick 2023. 2. 18. 13:01

 

 

아주 큰 정수가 들어오는 경우에는 따로 예외처리하는 코드를 작성하지 않아서 이를 작성하고자 했다.

프로모션 코드를 작성하기에 앞서 테스트 코드를 작성하는 중이었는데 이상한걸 발견했다.

 

입력값으로 아주 큰 정수를 주었는데, IllegalArgumentException을 발생시켰다며 테스트 코드를 통과해버린 것이다. 

나는 테스트가 실패할 줄 알았다. 실제로 프로그램을 실행시키고 아주 큰 정수를 입력값으로 주었을 땐 NumberFormatException이 발생했다고 하였기 때문이다.

 

그래서 IllegalArgumentException을 NumberFormatException으로 바꾸고 정보를 봤다. 그랬더니 IllegalArgumentException을 상속한다고 써있다.

 

 

다음 링크로 들어가보면 Exception의 계층을 사진으로 볼 수 있다.

https://rollbar.com/blog/java-exceptions-hierarchy-explained/

 

Java Exceptions Hierarchy Explained

Like most modern programming languages, Java includes the concept of exceptions to handle both errors and "exceptional events". When an…

rollbar.com