1

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

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

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

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

4

2 回答 2

2

如果您想为您的用户提供出色而清晰的错误消息,您应该尝试使用 crouton。这可以让你制作美丽的信息:看看他们的项目网站: Crouton Homepage


回到您的问题,关键是您正在执行只能在 Logcatlog 中找到的错误消息。如果您想向用户显示它,请尝试 Toast Message 或 Alertmessage。不管我想看看@Crouton!

最好的祝福

苹果浏览器

于 2013-01-04T09:10:03.463 回答
1

如果在某些情况下会出现异常,那么您真的应该通过实现 try catch(有时是 finally)块来编写防御性代码。看看这个资源 - 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)

}
于 2013-01-04T09:31:52.527 回答