一尘不染

异常与断言

java

Java异常处理和使用assert条件之间有什么区别?

众所周知,Assert有两种类型。但是什么时候应该使用assert关键字?


阅读 180

收藏
2020-09-08

共1个答案

一尘不染

将断言用于代码中的内部逻辑检查,并使用常规异常来处理即时代码无法控制的错误情况。

不要忘记可以打开和关闭断言-如果您关心参数验证之类的事情,则应该使用异常来明确声明。(但是,您可以选择使用断言在 私有
方法上执行参数验证,原因是此时的违反是由于内部错误而不是外部错误引起的。)

另外,对所有事物都使用异常是完全合理的(IMO)。我个人根本不使用断言,但这在某种程度上是个人喜好问题。(肯定有主张和反对主张的客观论据,但是要完全消除偏好还不够明确。)

2020-09-08