我目前正在使用Android中的应用内结算流程,并且在购买过程中可能会出现无数的例外和问题。看起来好像我不完全理解处理程序错误的概念,因为我的应用程序只显示“[App]必须关闭。”
但是,在LogCat中,我看到了代码中定义的异常消息:
throw new IllegalStateException("Billing is not set up. Can't perform operation: " + operation);
为什么不会以这种方式向用户显示此错误?
答案 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)
}