Java异常处理和使用assert条件之间有什么区别?
assert
众所周知,Assert有两种类型。但是什么时候应该使用assert关键字?
将断言用于代码中的内部逻辑检查,并使用常规异常来处理即时代码无法控制的错误情况。
不要忘记可以打开和关闭断言-如果您关心参数验证之类的事情,则应该使用异常来明确声明。(但是,您可以选择使用断言在 私有 方法上执行参数验证,原因是此时的违反是由于内部错误而不是外部错误引起的。)
另外,对所有事物都使用异常是完全合理的(IMO)。我个人根本不使用断言,但这在某种程度上是个人喜好问题。(肯定有主张和反对主张的客观论据,但是要完全消除偏好还不够明确。)