gpt4 book ai didi

java - 为什么在部署中不使用断言

转载 作者:搜寻专家 更新时间:2023-11-01 02:17:01 26 4
gpt4 key购买 nike

为什么在部署中通常不使用断言?我研究过断言公共(public)方法参数是不合适的..但断言私有(private)方法参数在部署中是合适的..为什么?

最佳答案

默认情况下不启用断言,您必须将 -ea 参数传递给 JVM 才能启用它们。所以在很多情况下,它可能只是简单的部署遗漏。其他原因可能是性能(尽管我没有证据表明断言会显着减慢执行速度)或正确的错误处理,即生产系统可能认为不适合抛出 AssertionError

断言私有(private)方法参数是合适的,因为您应该完全控制传递给它们的参数。公共(public)方法 OTOH 是从外部世界调用的,因此您可能无法控制传递的具体参数,因此最好进行显式参数检查并适当处理无效参数(例如,通过抛出合适的运行时异常,例如 IllegalArgumentException ),或者对于空引用,让 JVM 抛出一个 NullPointerException

关于java - 为什么在部署中不使用断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com