NumberFormatException은 IllegalArgumentException과 무슨 관계일까?

Hyunta·2022년 2월 22일
0

로또 미션

목록 보기
1/6
    @Test
    @DisplayName("숫자가 아닌 입력에 대한 예외처리")
    void Not_Number() {
        assertThatThrownBy(() -> {
            Integer.parseInt("text");
        }).isInstanceOf(IllegalArgumentException.class);
    }

기대하기로는 해당 테스트 코드가 실패하기를 바랐다. NumberFormatException 이 발생하는게 맞다고 생각했기 때문이다.
하지만 초록불이 떴고, 테스트가 통과해버렸다. NumberFormatExceptionIllegalException을 상속받아서 통과한다고 유추할 수 있었지만 자세히 알아보기 위해서 찾아봤다. 찾아보니 실제로 extends를 통해 상속받고 있었다.

Exception의 구조에 대해 궁금하여 조금더 조사를 해봤다. 전부다 외우지는 못하더라도 자주 쓰는 예외에 대해서는 알고 있으면 좋을 것 같다.

Reference

https://rollbar.com/blog/java-exceptions-hierarchy-explained/#:~:text=In%20Java%20%E2%80%9Can%20event%20that,run%2Dtime%20in%20application%20code.

profile
세상을 아름답게!

0개의 댓글