我从多个来源了解到,我们应该避免assert
在生产环境中使用,因为如果-ea
未在JVM上启用该标志,则不会引发异常。
但是,据我所知,这并不适用于check
和require
,即,无论JVM标志或任何相关设置如何,它们都将始终引发异常。
我只是想仔细检查一下它的使用安全性,check
并require
在出货之前询问这里。
require
并且check
绝对可以使用生产代码IllegalArgumentException
,无论出现什么情况,它都会在出现意外状态时抛出-ea
。
此外,这样做可以被认为是一种好的做法,因为它可以使输入检查保持一致,更易读并且可以智能地转换为非空类型(通过kotlin合同)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句