gpt4 book ai didi

java - 如果变量未在生产中启用,断言如何检查变量的有效性?

转载 作者:行者123 更新时间:2023-11-30 08:34:39 25 4
gpt4 key购买 nike

我指的是这篇文章:What does the Java assert keyword do, and when should it be used?

我的理解是:断言有助于检查变量的有效性,如果检查失败,它会抛出一个AssertionError。并且此检查通常在生产中关闭。


问题1:为什么在生产中我们不需要检查参数的有效性?我的意思是,用户可以传递一个无效参数来故意破坏程序,对吧?

问题 2:由于断言在生产中通常是关闭的,这是否意味着除了断言之外我还需要编写检查和抛出异常?

最佳答案

重点是您的用户可能希望您的应用程序健壮。当某些内部断言不成立时,他们不希望您的应用程序死亡

换句话说:测试和生产在很多方面都不同;其中之一是错误的处理。测试人员可能希望快速失败;以及尽可能准确的错误信息。最终用户想要继续他正在做的任何事情;如果有的话;他想要一些他可以报告给你的错误代码。

因此:您仍然需要在代码中进行专门的错误处理;如果某些方法在“错误”输入上失败;那么它应该抛出相应的异常。然后其他一些组件应该捕获该异常并决定从那里做什么。换句话说:您可能根本不想使用断言。因为您想测试最终用户将使用的完全相同的产品。因此,有两种不同的错误处理方式并不是一个有用的模式。

关于java - 如果变量未在生产中启用,断言如何检查变量的有效性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38745899/

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