显示异常的“更好”方式?

时间:2013-01-04 09:04:14

标签: android error-handling

我目前正在使用Android中的应用内结算流程,并且在购买过程中可能会出现无数的例外和问题。看起来好像我不完全理解处理程序错误的概念,因为我的应用程序只显示“[App]必须关闭。”

但是,在LogCat中,我看到了代码中定义的异常消息:

throw new IllegalStateException("Billing is not set up. Can't perform operation: " + operation);

为什么不会以这种方式向用户显示此错误?

2 个答案:

答案 0 :(得分:2)

如果您想为用户提供优质且干净的错误消息,请尝试使用烤面包片。这可以让你发出美丽的信息:看看他们的项目网站: Crouton Homepage


回到你的问题,关键是你正在做一个只能在Logcatlog中找到的错误信息。如果要向用户显示,请尝试Toast Message或Alertmessage。无论我怎样看看@Crouton!

最好的问候

狩猎

答案 1 :(得分:1)

如果在某些情况下会出现异常,那么您应该通过实现try catch(有时是最终)块来编写防御性代码。请查看此资源 - Java Exceptions

指定您期望的错误并相应地处理它。我希望应用程序返回“Toast”弹出窗口或重定向到计费设置。

注意:抓住所有异常而不关心为什么抛出异常是非常糟糕的做法,尝试在异常捕获中具体。有时我更喜欢我的应用程序崩溃而不是付款而不是交付货物。

try {

    // your billing code

} catch (IllegalStateException e) {

    //Handle exception - Would probably want to match the contents of e to your message 
    defined to ensure it is the correct exception (In case you've defined many of the same type)

}