用Java定义自定义异常处理程序?

Ben*_*enj 1 java exception-handling

好 !谢谢你找到了答案.我接受了副本,因为它正是我想要的,并且很好地解释了.感谢大家的回答:)

有没有人对如何在Java中创建自定义异常处理程序有任何建议或想法?

我的意思是修改代码未捕获 的标准Java异常处理方法Exceptions,Errors并且更通用Throwable.

PHP的方法是定义一个自定义的异常处理程序,但似乎在Java中没有这种方法.

我将实现的目标是在Java错误处理过程中插入自定义进程:

Uncatched Throwable - >由JVM处理"我的代码外" - >我的自定义进程 - >如果需要,恢复JVM标准异常处理

感谢所有的想法或建议!

在你的答案后编辑

有没有办法将此处理程序生成所有线程而不在每个线程中明确声明?我在这里为这个话题开了一个新问题.

Sle*_*idi 5

只要介意你,Javamultithreaded,并且exception与他们有关系threads.如果Exception没有被捕,你可以使用thread.setUncaughtExceptionHandler.

 thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread t, Throwable e) {
            System.out.println("catching exception "+e.getMessage());
        }
    });
Run Code Online (Sandbox Code Playgroud)

或者您可以使用该AOP方法并定义一个advice来处理异常.看看AspectJ.

注意:你需要在这里小心,因为你最终可能会吞下异常,并且很难搞清楚bug的来源