我目前正在玩Android中的应用内计费流程,在购买过程中可能会出现无数的异常和问题。看起来我并不完全理解处理程序错误的概念,因为我的应用程序只显示“[App] 必须关闭”。
但是,在 LogCat 中,我看到了代码中定义的异常消息:
throw new IllegalStateException("Billing is not set up. Can't perform operation: " + operation);
为什么不以这种方式向用户显示此错误?
我目前正在玩Android中的应用内计费流程,在购买过程中可能会出现无数的异常和问题。看起来我并不完全理解处理程序错误的概念,因为我的应用程序只显示“[App] 必须关闭”。
但是,在 LogCat 中,我看到了代码中定义的异常消息:
throw new IllegalStateException("Billing is not set up. Can't perform operation: " + operation);
为什么不以这种方式向用户显示此错误?
如果您想为您的用户提供出色而清晰的错误消息,您应该尝试使用 crouton。这可以让你制作美丽的信息:看看他们的项目网站: Crouton Homepage
回到您的问题,关键是您正在执行只能在 Logcatlog 中找到的错误消息。如果您想向用户显示它,请尝试 Toast Message 或 Alertmessage。不管我想看看@Crouton!
最好的祝福
苹果浏览器
如果在某些情况下会出现异常,那么您真的应该通过实现 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)
}