我有一个API,我正在检查给定键是否有任何现有对象可用。如果可用,则更新现有对象,否则创建新对象并保存。
如果存在密钥可用但没有对象链接的情况,应该抛出哪个异常?
答案 0 :(得分:0)
这实际上取决于您希望如何构建API。我认为你首先需要决定的是:这个例外应该被调用者捕获还是不一定?换句话说,它是否是 RuntimeException ?
我想如果你想抛出异常,那是因为你的数据模型不应该有给定键的空/ null对象。所以,我会争论 IllegalStateException 或 NoSuchElementException ,它扩展了 RuntimeException 。这意味着调用者不会被强制捕获异常。
如果您想强制调用者捕获异常,我建议您创建自己的异常,只需扩展异常
编辑:
例如,一个名为" MissingValueException"并定义如下:
public class MissingValueException extends Exception {
private static final long serialVersionUID = 1L;
public MissingValueException(final String message) {
super(message);
}
public MissingValueException(final String message, final Exception root) {
super(message, root);
}
}