【问题标题】:How to implement a global uncaught exception handler for blackberry?如何为黑莓实现全局未捕获异常处理程序?
【发布时间】:2014-04-09 22:19:55
【问题描述】:

您好,我正在尝试向我的应用程序添加一个模块,因此每当应用程序崩溃时,我都可以将有用的信息发送到我的服务器/邮件以跟踪错误。此信息可能是模型、Blackberry so 版本、stacktrace 或至少是我的应用程序中未处理的异常。显然,我将 try/catch 放在我认为可能发生错误的地方,但作为人类,我们可能会犯一些错误 :) 并且很难模拟移动设备可能遭受的所有问题。

我已经在 Android 上实现了它,这更容易,因为它有一个 UncaughtExceptionHandler 类,如果你不想自己做的话,在 Android 中也有一个非常棒的工具可以做到这一点@ 987654321@。所以我想知道是否有办法在黑莓上这样做,如果这不是这个平台上通常的解决方法。

我正在研究从 Blackberry 5.0 到 7.1 的黑莓。谢谢!

【问题讨论】:

    标签: eclipse-plugin crash-reports blackberry-jde


    【解决方案1】:

    Blackberry 没有像 Android 上的 Thread.setDefaultUncaughtExceptionHandler 或 iOS 上的 NSSetUncaughtExceptionHandler 这样的机制。

    我建议使用this post中描述的提案

    public class MyApp
    {
        public static void main(String[] args)
        {
            try {
                new MyApp().enterEventDispatcher();
            } catch (Exception e) {
                // handle exeption
            }
        }
    }
    

    如果您使用自己的Thread 子类或Runnable 实现,您还应该在catch run() 方法中使用所有异常

    附:还有no way to get stack-trace as string你只能打印到标准输出

    【讨论】:

    • 您好,经过一番研究,我刚刚使用了您刚刚推荐的。由于我们没有堆栈跟踪,我认为我可以有一个字符串,我将在每个侦听器中连接,这样我就可以知道当异常被捕获时用户在做什么,但我必须小心,因为这个字符串也可以得到大的 !! .无论如何,谢谢您的回答,祝您有愉快的一天!。
    猜你喜欢
    • 2018-06-14
    • 2013-10-25
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2015-01-02
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多