today_is
[ Exception ] 예외처리, 예외전가 본문
오늘의 목표
코드를 적다보면 발생하는 예외들이 많다.
예외를 처리하거나, 전가하여서 에러를 막아보자.
NullpointerException 예외를 만들어보기
에러 뜨는 이유
date 변수에 null 을 넣고
SimpleDateFormat 함수를 사용한다 한들, null 이다
null이 담겨있는 today 변수를 호출하면 NullpointerException 에러가 뜬다
해결방법 1 ) try ~ catch
콘솔창에 에러에 대한 메시지를 띄워서 에러를 알리자.
예외처리에는 try, catch, finally 가 있다.
try {
일반, 실행 예외 발생 가능 코드
}
catch {
try에서 예외가 발생하면 처리할 구문
}
finally {
예외 발생과는 관계 없이 실행되는 구문
}
해결방법 2 ) ExceptionHandler
예외를 지정할 수 있다
ArithmeticException / by Zero 예외를 만들어보기
해결방법 3 ) alert 창을 통해서 예외 발생에 대해 알려준다
@controller
(..중략..)
// 예외를 전가시켜 Controller 까지 보냈기 때문에
// 예외에 대한 처리는 Controller 에서 이루어짐
@ExceptionHandler(ArithmeticException.class)
public ModelAndView divideByZero(ArithmeticException e) {
ModelAndView mav = new ModelAndView("alert");
// 0으로 나눈 경우에서 발생하는 문제가 어떤 문제인지 알려주자 !
mav.addObject("e", e.getMessage());
// mav.addObject("url", "/"); 이전 페이지말고, 대문 페이지로 되돌려 보내고자 할때
mav.addObject("msg","값을 0으로 나눌 수 없습니다");
return mav;
}
(추가 !!)
프로젝트를 실행하니까 8080 서버에 프로세스가 점유되어있다? 는 에러가 떠서 해결하는 방법을 찾았다
1) 8080 서버에 돌아가고 있는 프로세스를 찾는다
netstat -ano | findstr 8080
2) 프로세스 아이디를 이용해 해당 프로세스를 종료시킨다
taskkill /f /pid 프로세스 아이디
만약 액세스가 거부당한다면
관리자모드로 명령프롬프트를 열어서 진행해주면 끝 !!
이러고 다시 이클립스 run 해주면 잘된다
'spring' 카테고리의 다른 글
[ spring ] 다른 ip와 DB 내용 공유하기 (0) | 2024.03.03 |
---|---|
[ json ] HashMap 을 이용한 json 데이터 mapping (0) | 2024.02.04 |
[ spring ] 간단한 POS 구현 (0) | 2024.01.19 |
[ spring ] RestController (0) | 2024.01.16 |
[ spring ] 설문 및 투표 + 설문결과보기 기능 구현 (0) | 2024.01.09 |