쇼핑몰 프로젝트 진행 중 상품 등록에 실패하였다.
데이터베이스 처리 과정에 문제가 있음을 알수 있었는데 정확히 어디가 문제인지 알수 없었는데
@PostMapping(value = "/shop/productregister.do")
public String registerProduct(final ProductDTO params, Model model, HttpServletRequest request,
HttpSession session) {
try {
// 세션값 userID params 입력
String userID = null;
if (session.getAttribute("userID") != null) {
userID = (String) session.getAttribute("userID");
}
params.setUserID(userID);
boolean isRegistered = productService.registerProduct(params);
if (isRegistered == false) {
return showMessageWithRedirect("제품 등록에 실패하였습니다.", "/shop/productmanagement.do", Method.GET, null,
model);
}
} catch (DataAccessException e) {
return showMessageWithRedirect("데이터베이스 처리 과정에 문제가 발생하였습니다.", "/shop/productmanagement.do", Method.GET, null, model);
e.printStackTrace();
} catch (Exception e) {
return showMessageWithRedirect("시스템에 문제가 발생하였습니다.", "/shop/productmanagement.do", Method.GET, null, model);
}
return showMessageWithRedirect("제품 등록이 완료되었습니다.", "/shop/productmanagement.do", Method.GET, null, model);
}
예외처리문 e.printStacktTrace()를 삽입하여 단계별로 에러를 출력하여 에러 위치를 알 수 있었다.
예외처리에서 에러 출력방법에는 3가지가 있다고 한다.
e.getMessage() : 에러의 원인을 간단하게 출력
e.toString() : 에러의 Exception 내용과 원인을 출력
e.printStackTrace() : 에러의 발생근원지를 찾아서 단계별로 에러를 출력
'programming > JAVA' 카테고리의 다른 글
[JAVA] Junit CRUD 테스트 (0) | 2022.02.04 |
---|---|
[JAVA] 소켓통신을 이용한 데이터 송수신 (0) | 2021.09.10 |
댓글