Phonegap和捕获全局android异常

时间:2011-06-06 19:14:46

标签: java android cordova

我正在创建一个phonegap应用程序,并希望防止它崩溃。我认为如果我能找到一种在全局级别上管理异常的方法,我可以捕获异常而忽略它。但是,到目前为止,我的错误捕获代码似乎没有找到它。

无论如何想到我做错了什么?我应该尝试不同的方法吗?

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {

        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            Log.e("uncaught error",ex.getMessage());
            Log.e("uncaught error",ex.getStackTrace().toString());

        }
    });

1 个答案:

答案 0 :(得分:0)

Actualy,这听起来不是一个好主意。

设计了异常机制来单独回答每个异常。当然,您可以对其进行微调并为每种异常类型设置非常特殊的catch子句,或者使用较粗略的方法并使用继承将异常组合在一起。

但对于所发生的一切,只有一个catch子句并不是一个好主意。虽然有一种情况我会推荐这种模式:对于需要特别健壮且始终运行的服务器,能够从任何情况中恢复。

但对于Android应用程序,没有。

因此,我建议您仔细观察代码通过logcat引发异常的位置,并修补程序面临的每个问题。 如果你正在寻找一种方法,在某个地方,而不是在整个程序中,捕获任何抛出的东西,使用Throwable接口,所有可以抛出的超类(接口)。

try
{
  //your code
}//try
catch( Throwable t)
{
  t.printStackTrace();
}//catch

此致  斯特凡