Exception.class에 대한 핸들링 없이 SizeLimitExceededException 에러를 핸들링 하면 잘 작동했으나, Exception.class 에 대한 핸들링을 추가해주면 Exception.class에서 잡아 500에러를 발생시킴
SizeLimitExeededException을 핸들링 한 이유
논의했던 대로 Exception.class 핸들링 로직에 해당 Exception e가 instanceof SizeLimitExceededException인 경우를 따로 처리하도록 했지만 해당 조건문에 걸리지 않음.
에러를 받아서 직접 print를 찍어 확인해보니 아래와 같이 나왔음.
그래서 MaxUploadSizeExceededException을 받아서 처리하니 잘 동작함.
MaxUploadSizeExceededException
was thrownIllegalStateException
SizeLimitExceededException
있으면 ⇒ 더 상단에 발생하는 에러부터 해당 에러에 대한 핸들링 처리 (예를 들어, IllegalStateException
를 핸들링 하는 로직 있으면 해당 로직 수행, 없으면, SizeLimitExceededException
를 핸들링 하는 로직이 있으면 그 로직을 수행)
없으면 ⇒ 스프링 내부적으로 알아서 처리
Exception.class도 핸들링 하지 않았을 때 파일 사이즈 초과 시 찍히는 에러로그