通常在编写公共(public)方法时我会做一些错误检查,例如
public SomeResult processSomething (int i, List<String> items) {
if( i < 0 ) {
throw new IllegalArgumentException();
}
if(items == null) {
throw new NullPointerException();
}
etc
}
在 android 编程中,标准方法是什么?我注意到,当一个 fragment 崩溃时,模拟器会转到前一个 fragment ,因此从向用户显示的行为来看,我猜这是可以的。但处理异常/错误情况的最佳方法是什么?
最佳答案
此处的最佳实践与 Java 世界其他地方使用的最佳实践非常相似:
1. 方法的第一行通常用于检查方法参数的有效性。如果发生错误,该方法应尽快失败。
验证参数时,如果测试失败,将抛出 Exception
。抛出的通常是这些未经检查的异常之一:
IllegalArgumentException
NullPointerException
IllegalStateException
这些都是从RuntimeException
派生的。
2. 如果类中every 方法的every 对象参数需要为非空以避免抛出 NullPointerException
,那么可以在通用类 javadoc
中声明一次,而不是为每个方法重复它。
引用资料:
Preconditions, Postconditions, and Class Invariants .
编辑:
要回答有关“特定于错误的 View ”的问题:虽然确实可以这样做,但想法是 Exception
指示代码中存在编程错误。因此,应该允许应用程序崩溃,以便用户可以报告错误,开发人员从而从应用程序的 Play 商店帐户中获取错误日志。这样他就可以纠正这些错误的来源。该过程应该一直持续到假设应用完全没有错误为止。
关于java - 在android中验证函数先决条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193631/