본문 바로가기
공부/메모

예외 처리를 알아보자 - 1

by 고구밍 2022. 4. 20.

https://www.youtube.com/watch?v=nyN4o9eXqm0 

 

 

객체에서 상속을 받고

exception이 상속이 받고

cheked : 반드시 예외처리를 해야되냐

unchecked : 명시적으로 예외처리를 하지 x아도 되느냐

확인시점)

컴파인 단계에서 가능하냐

실행 중에 가능하냐

로직상 별로 문제가 없어보인다, 있어보인다라는 차이

문법적으로 오류가 발생할 떄 -> checked

가동중에 발생할 수 있는 (매개변수, 다른 값들이나 들오지 않는 것들)

어플리케이션이 가동 중에 확인가능한 것 들

-> uncheck

@controlleradvice

컨트롤러와 레스트 컨트롤러에서 발생하는 예외를 한 곳에서 관리하고 처리할 수 있게 하는 어노테이션

-> 컨트롤러 예외처리 범위를 설정 할 수 있음

@restcontrolleradvice

예외 발생 시 json의 형태로 결과를 반환을 할 때 사용

@exceptionhandler

해당 handler로 처리하겠다는 명시하는 어노테이션

메소드 기반 -> 순서에 따라서 우선순위를 가지게 됨

nullpointerException.class -> 자식 클래스가 더 높은 우선순위를 가짐

e ->

ResponseEntity

HttpHeaders

HttpStatus

body 값을 채워넣어 줌

map -> 에러타입

map -> 코드

map -> 메시지

를 담아서 클라이언트 쪽으로 보내 줌

컨트롤러 딴에서 발생하는 예외처리는 여기서 처리하겠다. (정의)

Logger? 설정

exception

json 형태의 response boy형태로 받음

어떻게 받는가?

hellocontroller -> null 찍힘

동일한 예외처리가 있으면, exceptoin컨트롤러가 호출하게 됨.

우선순위 처리가 됨.

에러메시지를 통합적으로 관리할 것인가?