验证android中的函数前置条件

Jim*_*Jim 6 java methods error-handling android preconditions

通常在编写公共方法时,我会进行一些错误检查,例如

public SomeResult processSomething (int i, List<String> items) {
   if( i < 0 ) {
      throw new IllegalArgumentException();
   }
  if(items == null) {
     throw new NullPointerException();
  }
etc
}
Run Code Online (Sandbox Code Playgroud)

在android编程中,这是什么标准方法?我注意到当一个片段崩溃时,模拟器会转到上一个片段,所以从显示给用户的行为我觉得没问题.但是,处理异常/错误条件的最佳方法是什么?

Y.S*_*Y.S 2

这里的最佳实践与 Java 世界其他地方使用的最佳实践非常相似:

1.方法的第一行通常用于检查方法参数的有效性。如果发生错误,该方法应该尽快失败。

验证参数时,Exception如果测试失败,则会抛出异常。通常会抛出以下未经检查的异常之一:

  • IllegalArgumentException
  • NullPointerException
  • IllegalStateException

这些都是源自RuntimeException

2.如果类中每个方法的每个对象参数都需要为非 null 以避免抛出异常NullPointerException,那么可以在通用类中声明一次javadoc,而不是为每个方法重复声明一次。

参考:

先决条件、后置条件和类不变量

编辑:

回答有关“查看特定错误”的问题:虽然确实可以这样做,但其想法是Exception表明代码中存在编程错误。因此,应该允许应用程序崩溃,以便用户报告错误,开发人员从而从应用程序的 Play 商店帐户获取错误日志。这样他就可以纠正这些错误的根源。假设该过程应该继续下去,直到应用程序完全没有错误。