'Exception'에 해당되는 글 4건
- 2010.07.27 예외 메세지를 제대로 보여주기
- 2009.09.19 SAP 에러 메세지
- 2009.09.19 iBatis 에러 메세지
- 2009.04.18 좋은 코딩 습관 - 상태 기준을 엄격하게 잡기
- 예외 메세지를 제대로 보여주기
- 日常茶飯事
- 2010. 7. 27. 18:54
에러메세지 앞부분에 자바 패키지명이 붙는 것을 없애자.
메세지를 보아하니 Exception 클래스를 사용한 것 같은데 Exception#toString()을 그대로 쓴거 같다.
Exception#getMessage()를 이용하도록 수정하면 되겠네.
SpringMVC를 사용했으니깐 HandlerExceptionResolver 를 사용했을거고, 관련 설정을 확인해 본다.
예외를 생성한 곳을 보니
예외가 겹친 경우에도 위와 같은 메세지가 보인다.
exception.jsp에서 실제 예외를 찾아서 보여주자.
xxx.user.service.LoginException: 사용자 정보가 존재하지 않습니다.
메세지를 보아하니 Exception 클래스를 사용한 것 같은데 Exception#toString()을 그대로 쓴거 같다.
Exception#getMessage()를 이용하도록 수정하면 되겠네.
SpringMVC를 사용했으니깐 HandlerExceptionResolver 를 사용했을거고, 관련 설정을 확인해 본다.
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.lang.Exception">exception</prop> <!-- <prop key="xxx.common.LoginException">processException</prop> --> </props> </property> </bean>모든 예외는 exception.jsp 로 이동함.(view를 찾을 때에는 viewResolver가 사용됨)
Throwable throwable = (Throwable)request.getAttribute("javax.servlet.error.exception"); String errorMessage = throwable.getMessage(); ... var errorMessage = "<%=errorMessage%>"; alert(errorMessage);어라...제대로 처리하고 있는데...
예외를 생성한 곳을 보니
try{ LOGIN //throw LoginException("사용자 정보가 존재하지 않습니다.") }catch(Exception e){ ... throw new LoginException(e); }로그인을 처리하는 서비스에서 LoginException("사용자 정보가 존재하지 않습니다.") 을 발생시키고, 컨트롤러에서는 LoginException을 다시 생성해서 던지고 있다.
예외가 겹친 경우에도 위와 같은 메세지가 보인다.
exception.jsp에서 실제 예외를 찾아서 보여주자.
Throwable cause = throwable; while(cause.getCause() != null){ cause = cause.getCause(); } errorMessage = cause.getMessage();
- SAP 에러 메세지
- 日常茶飯事
- 2009. 9. 19. 16:32
- iBatis 에러 메세지
- 日常茶飯事
- 2009. 9. 19. 16:29
com.ibatis.common.beans.ProbeException: There is no READABLE property named 'isseuYear' in class 'project.domain.Close'
isseuYear 가 아니라 issueYear 임.- 좋은 코딩 습관 - 상태 기준을 엄격하게 잡기
- 日常茶飯事
- 2009. 4. 18. 14:28
제목 붙이기가 어렵네.
- 값을 비교해서 어떤 처리를 할때 아래와 같이 하면 0, 1 이외의 값이 넘어오는 경우는 처리가 안된다.(0, 1 일때만 처리해야 하는 경우 말고)
- 값을 비교해서 어떤 처리를 할때 아래와 같이 하면 0, 1 이외의 값이 넘어오는 경우는 처리가 안된다.(0, 1 일때만 처리해야 하는 경우 말고)
if(flag == 0){ processA }else if(flag == 1){ processB }- 사용자의 입력 오류던지 개발자의 실수 등으로 이런 경우는 충분히 발생할 수 있으므로 0, 1 이외의 경우도 처리해야 한다.
if(flag == 0){ processA }else if(flag == 1){ processB }else{ THROW "INVALID FLAG!!! : " + flag }
Recent comment