Controller계층에서 발생하는 에러를 잡아서 메서드로 처리해주는 기능(Service, Repository는 제외)
value 값으로 어떤 Exception을 처리 할 것인지 넘겨줄 수 있는데, value를 설정하지 않으면 모든 Exception을 잡게 되기 때문에
Exception을 구체적으로 적어주는 것이 좋다고 한다.
ex) @ExceptionHandler({FileSystemException.class, RemoteException.class})
public ResponseEntity handle(Exception ex)
기본적인 try catch 구문의 구조이다.
try 문에서 Exception 예외가 발생할 경우 catch (Exception e) 로 빠져서 그 안의 실행문을 실행한다.
마지막의 finally블럭은 try-catch문과 함께 예외발생 여부과 관계없이 "항상. 무조건" 실행되어야할 코드를 적는다.
필수는 아니며 마지막에 선택적으로 덧붙여 사용한다.
예외 발생시 try->catch->finally 순으로, 발생 하지 않은 경우 try->finally 순으로 실행된다.
출처: https://cheershennah.tistory.com/147 [Today I Learned. @cheers_hena 치얼스헤나:티스토리]
@PostMapping에서 @RequestParam을 써서 받을 수 있는 것은 HTML Form 태그에서 method가 POST 전송 일때는 @RequestParam으로 값을 받을 수 있다.