java - java android错误处理,断言或者异常处理

  显示原文与译文双语对照的内容
71 2

我通常使用异常处理优雅地抛出异常并处理它,而不会导致应用程序崩溃。

我继承了一些使用断言的代码,在调试失败时,应用程序在调试中崩溃,每次断言失败。

很多时候,这些断言检查是否有空,如果是空的,则会失败断言。

if(var!=null) 相比,这似乎完全适得其反,但我却遗漏了一些东西? 我是否丢失了关于这里代码设计范例的一些新奇的内容?

我的断言是所有 assert 调用都应该被注释掉,并且任何问题错误都应该检查空变量

我写了这个希望有一个真正的答案,对这个问题,感谢 !

时间: 原作者:

137 2

断言是真正不应该发生的事情。 断言不是检查条件,而是检查强假设,因为你肯定不会发生这种情况。 在使用断言时,可以启用它们进行调试,但不应在生产代码中。

因此,对null检查使用断言是最糟糕的做法,因为在java中,空值。 最好使用 if(object == null)

原作者:
...