슬슬의 공부

[Java] Error vs Exception

seulseul 2023. 3. 9. 12:53

목차

 

    예외 클래스 관계도

    Java 의 신 - 예외클래스 상관 관계도

    Error (에러)

    에러는 자바 프로그램 밖에서 발생한 예외를 의미합니다.
    가장 흔한 예가 서버의 디스크가 고장났다든지, 메인보드 고장으로 인해 자바프로그램이 제대로 동작하지 못하는 경우가 여기에 속한다고 볼수 있습니다.
    Exception 클래스는 에러가 아닙니다.
    자바 프로그램에 오류가 발생했을 때, 오류의 이름이 Error 로 끝나면 에러이고, Exception 으로 끝나면 예외입니다.
    이는 자바를 제공하는 오라클에서 분류한 것입니다.
     
    참고 : [Oracle] 예외의 종류와 관련 내용
     

    Error (에러) vs Exception (예외)

    Error 와 Exception 의 가장 큰 차이는 프로그램 안에서 발생했는지, 밖에서 발생했는지 여부입니다.
    자세히 말하면 Error 는 프로세스에 영향을 주고, Exception 은 쓰레드에만 영향을 줍니다.
     
    Error(에러) 는 시스템이 종료되어야할 수준과 같이 수습할 수 없는 심각한 문제를 의미합니다.
    예를 들면, OutOfMemoryError 와 같이 JVM 이 할당한 메모리의 부족으로 더이상 객체를 할당할 수 없을때 던져지는 오류이다.
    이는 Garbage Collector 에 의해 추가적인 메모리가 확보되지 못하는 상황이기도하다.
     
    Exception (예외) 은 개발자가 구현한 로직에서 발생한 실수나 사용자의 요청에 의해 발생합니다.
    이는 개발자가 미리 예측하여 방지할수 있기 때문에 예외 처리(Exception Handle) 를 해야합니다.
    예를 들면, NullPointerException 과 같이 객체가 필요한 경우에 null 값이 대입됐을때 던져지는 예외이다.
     


    [관련 포스팅]

     

    '슬슬의 공부' 카테고리의 다른 글

    SSO 인증/인가 프로토콜 - SAML OAuth OIDC  (0) 2023.11.12
    [Java] Checked Exception vs Unchecked Exception  (0) 2023.03.09
    자료구조  (0) 2023.01.24
    [프로그래머스] 올바른 괄호  (0) 2023.01.24
    [프로그래머스] 카펫  (0) 2023.01.24