저는 다음과 같이 exception resolver를 등록하여 Controller 에서 try catch로 예외를 잡지 않고, DispatcherServlet으로 모두 던집니다.
<!-- ============================================================= -->
<!-- exception resolver -->
<!-- ============================================================= -->
<bean class="com.kyu.svc.common.handler.CustomSimpleMappingExceptionResolver">
<property name="order" value="1" />
<property name="defaultErrorView" value="common/error/defaultError" />
<property name="exceptionMappings">
<props>
<prop key="BusinessLogicException">common/error/businessLogicError</prop>
<prop key="RuntimeException">common/error/runtimeError</prop>
<prop key="TypeMismatchException">common/error/defaultError</prop>
</props>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver">
<property name="order" value="2" />
</bean>