#202·assert

转换为自定义异常,而不是 InvalidArgumentException

作者: githoober创建于 2020年6月9日更新于 2021年10月29日

这个库应该有自己的 AssertException,以避免需要: * 覆盖 reportInvalidArgument 方法 - 这是一个可疑的解决方案,因为每个 assert 方法仍然带有标签 "@throws InvalidArgumentException"。此外,并非所有的 assert 检查都与某些无效参数相关。例如,有些检查是针对函数结果运行的。 * 捕获 InvalidArgumentException 并将其转换为其他异常,因为这与来自其他地方的 InvalidArgumentException 发生冲突。这会阻止应用程序层之间的适当异常转换。 我知道这是一个 BC 问题,但这个问题太严重了,不能再继续忽略。至少有几个与这个问题相关的工单被关闭了,没有任何解决方案,而人们将在未来继续与之作斗争。

内容来源: webmozarts/assert