gpt4 book ai didi

Java:初始化错误的适当异常

转载 作者:IT老高 更新时间:2023-10-28 21:06:00 25 4
gpt4 key购买 nike

当静态工厂方法无法初始化新对象时,我应该抛出哪个异常?我更喜欢引发有意义的异常而不是返回 null

最佳答案

如果你因为数据不足而在 Factory 中抛出异常,我喜欢抛出一个 IllegalStateException,其描述类似于“无法构造 X,未设置 Y”。

如果您由于数据冲突而在工厂中抛出异常,我喜欢抛出一个IllegalStateException,其描述类似于“无法构造 X,Y 与 Z 冲突”。

如果您由于错误(或无意义的)值而在工厂中引发异常,我喜欢引发 IllegalArgumentException,其描述类似于“Y 不能是 A”。

如果您由于缺少值而在工厂中抛出异常,我喜欢抛出一个 IllegalArgumentException,其描述类似于“Y 不能为空”。

最后一个偏好取决于一些争论。有人建议最好抛出 NullPointerException;就我而言,我们不惜一切代价避免它们,因为许多客户倾向于不阅读异常消息(并假设 NullPointerException 意味着编码错误)。

在任何情况下,您都应该提供一个好的、具体的信息来说明引发异常的原因,以减轻您在几个月后看到该异常引发的 future 支持成本。

关于Java:初始化错误的适当异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9684500/

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