问题标签 [uncaughtexceptionhandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1810 浏览

java - UncaughtExceptionHandler 更改异常消息

小例子:

按预期打印以下内容:

让我们修改这个程序:

印刷:

问题:

为什么消息不包含有关其发生位置的任何信息,并且没有堆栈跟踪消息?

至于我,异常消息看起来很奇怪。

0 投票
1 回答
500 浏览

java - UncaughtExceptionHandler 行为异常,然后冻结

我的消费者没有按照我期望的方式工作。下面是在我的真实程序中发生的事情。

  • 预期的:
    1. 打印In finally!
    2. 打印About to print stacktrace
    3. 打印NullPointerException堆栈跟踪。
  • 实际的:
    1. 打印In finally!
    2. 挂,在sun.misc.Unsafe

程序:

0 投票
1 回答
130 浏览

java - 哪个 java.lang.Error 后代可以安全捕获?

对我来说绝对清楚,通常 Java 程序不应该 catch Throwable,因为它正在捕捉Error-s like OutOfMemoryError。100% 清楚。

但。

如果我有一个多线程应用程序,通常最好的做法是,我应该有一个UncaughtExceptionHandler,如果RuntimeExceptionError发生的话,它会做一些事情。我通常想做的就是简单地记录。记录RuntimeExceptions不会真正伤害,这很清楚。但问题出现在我身上:

我可以在 UncaughtExceptionHandler 中捕获并安全地记录哪些错误,如果我记录它,它不会处理我的整个应用程序?存在哪些错误,这并不意味着应用程序必须立即停止?

例如,如果我得到一个OutOfMemoryError,我只会要求一个printStackTrace标准输出,因为记录它的内存需要可能会杀死其他线程。但是StackOverflowError在我看来,被记录是完全安全的,因为它简单地意味着当前线程的堆栈区域已满。记录它是安全的。你会记录哪些其他Error后代?

0 投票
1 回答
304 浏览

grails - 覆盖 Grails uncaughtExceptionHandler

我正在使用 Grails 2.3 创建一个 REST API,并且我想要一种更好的方法来处理将错误响应呈现为 JSON 响应。目前有一个异常包,它们都有一个 toJSON 方法。因此,我所有的控制器方法都将所有内容包装在相同的 try/catch 块中,并以相同的方式呈现任何错误响应。

我真正想要的是有一个未捕获的异常处理程序来完成所有这些,而不必将所有内容都包装在 try/catch 中。因此,如果有未捕获的异常,它会自动将异常转换为 JSON,设置适当的状态代码,并写入和刷新响应。

鉴于这一切,这是一个实际的问题:所以第一个问题是:这是一个愚蠢的想法吗?

由于 Grails 处理所有线程池,我我需要在每次 api 调用开始时注册我的处理程序。我应该在每个控制器的 beforeInterceptor 闭包中执行此操作吗?

另外,我如何能够从我的处理程序访问响应对象以便能够编写正确的响应?

即使有人可以将我指向文档中的相关 grails 类,那也会有很大帮助。我搜索并找不到 grails 执行此操作的类,以查看我是否可以使用他们现有的类而不是编写自己的类。

0 投票
2 回答
810 浏览

java - 使用 Matrix.multiplyMV 方法导致未捕获的异常

我正在尝试使用 android 的“Matrix”类中存在的静态方法 multiplyMV 与向量进行基本的矩阵乘法。以下是一小段代码:

我不确定自己在做什么错误,但是这段代码会导致未捕获的异常。我试图查看代码中的什么时候出现此异常。如果我在第 10 行设置一个断点,则执行将在前一行停止,如果我随后给出一个 step-into 命令,我再次以异常结束。所以该方法的使用导致了这个异常,但我不知道为什么。我错过了一些包裹吗?我什至无法捕捉到这个异常并打印堆栈跟踪以查看发生了什么。任何帮助深表感谢!

代码的上下文是它必须执行向量从一个坐标系到另一个坐标系的转换。

编辑:发现异常:第 09 行的 IndexOutOfBounds

0 投票
1 回答
4193 浏览

c# - 处理来自引用 dll 的未处理异常

我创建了 ac# dll 来处理应用程序中所有未处理的异常。

添加

我的 dll 项目中的代码,添加了对我的应用程序的引用。

在调试时,如果我的应用程序抛出未处理的异常,它会自动从 dll 中捕获,并且我成功登录到文件。

但是当我的应用程序被部署(或直接执行我的应用程序(双击 exe))时,dll 无法从应用程序中捕获未处理的异常。

0 投票
2 回答
1749 浏览

c++ - 是否可以使用调试器调试 UnhandledExceptionFilters?

在 Microsoft Windows API 中,您可以使用SetUnhandledExceptionFilter为未处理的异常设置处理程序。该页面上提到的最大问题是:

如果在未调试的进程中发生异常,并且异常进入未处理的异常过滤器,则该过滤器将调用由 lpTopLevelExceptionFilter 参数指定的异常过滤器函数。

重点补充

这基本上意味着,如果进程正在调试,调试器会收到异常,并且我的过滤器会被跳过!

我可以使用 printfs 和 trial-n-error 以老式方式测试和调试我的 ExceptionFilter。

但我错过了什么吗?如果 ExceptionFilter 在调试器中被禁用,是否有一种交互式调试的好方法?

0 投票
1 回答
429 浏览

java - 从 ExceptionHandler 子类安全退出应用程序?

我是 Android 和 java 的新手,我会尽力做到尽可能具体。

我有一个应用程序,其中包含一个活动和几个片段和类以及一个ExceptionHandler实现 default的子类UncaughtExceptionHandler。我能够成功使用:-

Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));

在未处理的异常情况下退出应用程序而不显示"ForceClose"弹出窗口。我用System.exit(0). 我正在整个应用程序中记录日志。我能够将 ExceptionHandler 子类的异常记录到日志中。

现在,我的问题是应用程序在没有经历的情况下退出onPause()onStop()或者onDestroy()在未捕获的异常的情况下,但我需要它为我的MainActivity.

使用子类退出应用程序时如何执行此操作ExceptionHandler

0 投票
2 回答
1968 浏览

java - 如何在 Servlet 中使用 UncaughtExceptionHandler

我在tomcat的StartUp上实现了一个UncaughtExceptionHandler:

当我在 Servlet 中产生异常时,我的处理程序不会捕获它:

控制台说:

2014 年 2 月 13 日上午 8:23:58 org.apache.catalina.core.StandardWrapperValve 调用 Schwerwiegend:Servlet.service() 用于路径 [/infraview] 上下文中的 servlet [ConnectGatewaysServlet] 引发异常 java.lang.ArithmeticException: / by零在 net.test.gateway.ConnectGatewaysServlet.doPost(ConnectGatewaysServlet.java:73) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java: 728)

如何为 Servlet 实现 UncaughtExceptionHandler?

0 投票
0 回答
660 浏览

c++ - 您如何获得向 UnhandledExceptionFilter 或 VectoredExceptionHandler 抛出异常的线程 HANDLE?

假设您有以下全局异常处理程序/过滤器:

调用使用:

我可能有一个单独的线程将异常抛出回用于设置过滤器或处理程序的主线程......但是在 and 的逻辑中UnhandledExceptionFilterVectoredExceptionHandler我如何获取HANDLE抛出异常的线程?