Exception과 Error, Throwable의 차이

Arakene·2025년 4월 18일

Throwable

공식문서에는

에러로 던질 수 있는 모든 것들의 부모 클래스다.
try - catch로 핸들링하려면 반드시 Throwable을 상속받은 객체여야만 한다.

Error와 Exception 모두 Throwable을 상속받고 있다.

Throwable
├── Exception
│   ├── RuntimeException
│   │   ├── NullPointerException
│   │   ├── IllegalArgumentException
│   │   ├── IndexOutOfBoundsException
│   │   └── ...
│   ├── IOException
│   ├── SQLException
│   └── ...
└── Error
    ├── OutOfMemoryError
    ├── StackOverflowError
    ├── NoClassDefFoundError
    └── ...

와 같은 형식으로 이루어진다

Exception과 Error의 차이

✅ Exception vs Error 차이점 비교표

구분ExceptionError
상속 구조Throwable → ExceptionThrowable → Error
목적애플리케이션 예외 처리시스템 또는 JVM의 치명적인 문제
회복 가능성대부분 회복 가능대부분 회복 불가능
처리 방법try-catch로 직접 처리 가능일반적으로 try-catch로 처리하지 않음
예시IOException, SQLException, NullPointerExceptionOutOfMemoryError, StackOverflowError
사용 대상로직 상의 예외 상황시스템/메모리/클래스 로딩 관련 문제
profile
안녕하세요 삽질하는걸 좋아하는 4년차 안드로이드 개발자입니다.

0개의 댓글