예외처리

노지환·2021년 11월 26일
0
post-thumbnail

기본

발생시점에 따라 컴파일 에러와 런타임 에러로 나뉜다.

컴파일 에러 : 컴파일할 때 발생하는 에러
런타임 에러 : 프로그램 실행 도중에 발생하는 에러

Error와 Exception

런타임 에러가 두개로 나뉘어진다.

error: 일단 발생하면 복구할 수 없는 심각한 오류.
exception : 발생하더라도 수습될 수 있는 비교적 덜 심각한 것

error는 프로그램의 비정상적인 종료를 막을 수 없다.
exception은 대처할 수 있는 코드를 작성함으로써 비정상적인 종료를 막을 수 있다.

예외처리

정의: 프로그램 실행시(runtime) 예외의 발생에 대비한 코드를 작성하는 것
목적: 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것

예외 "클래스"의 계층구조

Checked Exception == RuntimeExcepion
-> 프로그래머의 실수로 발생하는 예외
Unchecked Excepion == 나머지 exception
-> 사용자의 실수와 같은 외적인 요인에 의해 발생되는 예외

RuntimeException은 예외처리를 해주지 않아도 컴파일할 때는 문제되지 않는다.
class이기 때문에 throwable 역시 Object를 상속받는 것을 알 수 있다.

+

throws는 예외를 처리하는 것이 아니다.
호출한 메서드에게 예외를 전달하여 예외처리를 미루는 것이다.

궁금한 것

spring에서 전역 예외처리를 할 때 어떻게 동작하는지?

profile
기초가 단단한 프로그래머 -ing

0개의 댓글