问题标签 [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.
java - spring 独立应用程序的全局错误处理
我有一个独立的 spring 应用程序,其中我的一个 bean 实现UncaughtExceptionHandler
并在 main 方法调用Thread.setUncaughtExceptionHandler
中。是否有任何弹簧支持全局错误处理,我发现了一些弹簧 MVC 的选项,但不是非 MVC / 独立的。
android - UncaughtExceptionHandler issue
In the following code I am obtaining exception data in an released app. This app is not running in debug mode - it is running as a released app on lots of phones.
What I have here works just fine. It puts exception data into shared memory which I mail to myself the next time the app runs. My problem is that the data I get isn't terribly useful. This is what is produced . . .
This doesn't tell me much. Is there anyway I can get a stacktrace? Anything that would tell me where in the program the error is occurring? Thanks, Dean
android - 尽管 UncaughtExceptionHandler 间歇性 Android 应用程序崩溃,但没有错误日志
此处难以解释的问题 - 我无法给出代码示例,因为如果我知道问题在代码中的位置,我就不需要帮助。反正...
我的应用程序很少出现“不幸的是 [您的真棒通常无错误的应用程序] 已停止”对话框,并且 - 尽管有一个 UncaughtExceptionHandler 似乎可以捕获所有其他该死的东西 - 我通过我的错误报告系统一无所获。
我怀疑这与锁定/冻结的线程以某种方式发生冲突有关(我无法避免使用多线程的东西来实现我的目标),所以我知道这使得一切都更难以确定,我只是想知道是否有是一种在出现“不幸...”对话框时捕获应用程序状态的方法,以便我可以将大量转储到文本文件,或者是否有另一种巧妙的调试方法?
我见过其他类似的 StackOverflow 问题,但没有一个说明他们已经有一个 UncaughtExceptionHandler 到位。
为含糊而道歉。
java - 使用未捕获的异常处理程序在异常上启动新线程
可运行任务解析传入的 xml 文件并从不同的类调用。有时解析可能会失败并抛出异常。即使发生异常,该任务也应该运行。我尝试使用未捕获的异常处理程序在新线程中重新启动相同的任务。但想要更多的想法。
类调用线程:(调用线程)
在新线程中重新启动相同的任务可以正常工作,但可能在不导致线程退出的情况下处理异常应该是这种方式
任务类:
我有一个监视服务(文件目录扫描)正在运行,所以我一直需要这个任务,即使线程终止。
android - 未捕获异常后显示对话框
在使用 unCaughtExceptionHandler 发生未捕获的异常后,我尝试以隐式意图启动活动。Intent 应该在已崩溃的同一应用程序中将 Activity 作为 Dialog 启动。这对应于该线程中列出的示例:
我在自己的处理程序结束时调用原始的 unCaughtExceptionHandler,如下所示:
结果是,在出现异常后,会显示标准对话框,上面写着“不幸的是 App xxx 已关闭”。在那个对话框的后面,在后台,我可以看到我的对话框应该以这个意图“PROCESS_LOG”开始。所以显然是启动了,但问题是,在标准对话框关闭后,我的自定义对话框也关闭了。如果我添加
在对话框活动的清单中,对话框也被隐藏了,但是当从最近的应用程序菜单中选择应用程序时,可以再次激活它。这在我看来好像对话框没有完全独立于以前的应用程序进程/任务启动。
有人可以说我做错了什么吗?
这是对话活动的清单部分:
对应样式:
这是对话框活动类:
node.js - 是否有与 Java UncaughtExceptionHandler 等效的 Node.js?
我在 Node.js 应用程序中有一些有问题的代码,导致错误(表现为奇怪的输出),但没有完全崩溃。它在控制台中没有显示任何内容来指示发生了错误,并且我只是通过大量尝试和错误来选择性地注释掉行来确定根本原因。
为了将来节省时间,Node 中是否有类似 Java 的 UncaughtExceptionHandler 可以捕获任何导致错误的内容并将它们显示在控制台中以便我可以立即查明错误?
android - Crashlytics 中用于记录未捕获异常的公共方法
我们通常在主线程的 Application.onCreate() 方法的早期阶段初始化 Crashlytics。Crashlytics 的初始化过程通常非常快,但在某些设备上仍可能需要超过 2 帧和长达 32 毫秒的时间。由于我们一直在改进冷启动时间,因此我们考虑将 Crashlytics 初始化置于后台线程中,问题是我们是否仍然可以在 Crashlytics 初始化之前捕获崩溃。
我们这里的方法是首先设置一个 CustomDefaultUncaughtExceptionHandler 并在后台线程中非常早地初始化 Crashlyatics。如果我们在 Crashlytics 初始化或待初始化之前发生崩溃,我们将在 CustomDefaultUncaughtExceptionHandler 中重新初始化 Crashlytics,并使用反射获取 CrashlyticsCore 的 CrashlyticsUncaughtExceptionHandler,然后记录这个未捕获的异常。
我们的问题是是否可以为我们创建一个公共方法来记录未捕获的异常,以便我们不必使用反射。或者,如果我们有其他建议可以将 Crashlytics 初始化卸载到后台线程,但也能够捕获早期异常。
伪代码如下所示:
android - 抛出未捕获的异常时是否可以阻止或重新启动主线程
我目前有一个应用程序,如果用户多次崩溃,它会启动不同的 Activity。但是,由于后台服务/推送服务,应用程序仍可能在此备用活动中崩溃。
有没有办法防止主线程死亡并仍然保留其消息队列。我正在使用Thread.setDefaultUncaughtExceptionHandler()
并吞下异常,但似乎线程仍然冻结或终止。我试过thread.start()
了,但是所有发布到 MessageQueue 的 UI 事件都不再起作用(视图被冻结)
android - UncaughtExceptionHandler 是否设置应用程序范围?
我设置了一个UncaughtExceptionHandler
, 以便在我的应用程序崩溃时将堆栈跟踪写入磁盘。我这样设置这个处理程序:
在哪里CustomExceptionHandler
实现UncaughtExceptionHandler
。我将实例保存在 my 中Activity
,因此我可以将其用于其他一些功能(删除堆栈跟踪、检索它们等)。
onCreate
我在my中调用了上面的代码Activity
,但它似乎只在第一次Activity
运行 any 时触发。
我看到Thread.setDefaultUncaughtExceptionHandler
调用是静态的,这是否意味着我只能在我的应用程序中设置该处理程序一次?或者我可以为每个线程设置它吗?
android - 在应用程序崩溃时联系 Web 服务
我希望我的 Android 应用程序通过使用(POST)Web 服务将堆栈跟踪发送到我的后端应用程序来处理未捕获的异常。为了做到这一点,我在我的父活动中设置了一个 UncaughtExceptionHandler:
在我的 CustomExceptionHandler 中,我重写了 uncaughtException 方法:
为了测试这一点,我强制我的应用程序崩溃:
但我的网络服务没有联系。当我在 try 子句的第二行设置断点时,调试器似乎很短暂地到达了该行,然后程序和调试器就简单地退出了。我还尝试创建一个新线程来处理 web 服务调用,我尝试使用 AsyncTasks,但行为保持不变:从未联系过我的 web 服务。出了什么问题?
谢谢。