2011-03-26 106 views

回答

5

首先,你的应用程序不应该崩溃。如果发生崩溃,通常是由于未捕获的异常(通常为NullPointerException)。找出抛出异常的地方并修复它。

至于你的问题,具体来说,你也可以捕捉这些例外,并防止应用程序崩溃。例如,这将防止NullPointerException异常崩溃的应用程序:

try { 
    Object nullObj = null; 
    if (nullObj.toString().equals("bleh")) { 
     // app should crash from the NullPointerException if uncaught 
    } 
} catch (NullPointerException e) { 
    // Catch the NullPointerException and prevent crashing 
    e.printStackTrace(); 
} 

在这种情况下,应用程序不会崩溃,并继续显示应用程序。现在不要重新启动应用程序,也许应该跳回到之前的活动并让用户知道出了什么问题。

+0

+1其全部关于预测和正确反应失败。 – 2011-03-26 17:17:16

0

我明白你的困境。在发布之前捕获所有异常将变得困难。如果发生崩溃,您可以使用ACRA来捕获异常 - 这将避免强行关闭。它也有重新启动应用程序的机制,我相信。

相关问题