8

我正在开发一个 Spring 应用程序,并且想知道是否有一部分框架可以让我以更优雅的方式做这样的事情,比如在 XML 中配置一些东西?

4

2 回答 2

8

如果您的问题的目的是UncaughtExceptionHandler通过您的应用程序上下文设置自定义,您可以使用:

<bean id="myhandler" class="java.lang.ThreadGroup">
    <constructor-arg value="Test"/>
</bean>

<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
   <property name="targetClass" value="java.lang.Thread"/>
   <property name="targetMethod" value="setDefaultUncaughtExceptionHandler"/>
   <property name="arguments">
     <list>
         <ref bean="myhandler" />
     </list>
   </property>
</bean>

(注意用选择替换 myhandler Thread.UncaughtExceptionHandler......)

于 2012-02-10T14:22:03.243 回答
0

您还可以使用@ControllerAdvice带注释的类来处理未捕获的异常。参考https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc,以下代码将捕获任何异常:

@ControllerAdvice
public class MyUncaughtExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    public void defaultExceptionHandler(Exception e) {
        // do whatever you want with the exception
    } 
}
于 2015-12-20T14:02:14.040 回答