默认情况下不启用断言,您必须将-ea
参数传递给JVM才能启用它们.因此,在许多情况下,部署中可能只是一个简单的遗漏.其他原因可能是性能(我没有证据表明断言会明显减慢执行速度),或者正确的错误处理,即生产系统可能被认为不合适AssertionError
.
断言私有方法参数是合适的,因为您应该完全控制传递给它们的参数.公共方法OTOH是从外部世界调用的,因此您可能无法控制传递的具体参数,因此最好进行显式参数检查并适当地处理无效参数(例如,通过抛出合适的运行时异常,例如IllegalArgumentException
),或者null引用,让JVM抛出一个NullPointerException
.
归档时间: |
|
查看次数: |
208 次 |
最近记录: |