gpt4 book ai didi

java - 处理不可能发生的异常的最佳方法

转载 作者:行者123 更新时间:2023-12-02 04:28:46 24 4
gpt4 key购买 nike

我使用以下代码构建一个 SQL 语句,该语句更新特定对象所具有的字段的值。我的问题是,由于我检查对象是否具有特定字段,因此永远不会发生异常。使此代码更具可读性的最佳方法是什么,例如避免使用 try {} catch {} block 。

 List<Field> modelFields = Arrays.asList(model.getClass().getFields());
String updateString = "";

for (Field field : fields) {
if (modelFields.contains(field)) {
try {
updateString += " " + field.get((Object) model) + " ";
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else {
updateString += " NULL ";
}
}

最佳答案

如果您认为异常不应该发生,则抛出一个包装原始异常的运行时异常:

try {
updateString += " " + field.get((Object) model) + " ";
} catch (IllegalAccessException e) {
throw new IllegalStateException("this should never happen: the field is supposed to be public and thus accessible", e);
}
这样,如果你错了,或者代码发生了变化,不可能的事情变成了可能,你将得到一个异常,其中有明确的错误消息和异常的根本原因,而不是默默地忽略错误并稍后会得到一个不相关的错误,或更糟糕的是,得到一个有效但不正确的结果。

关于java - 处理不可能发生的异常的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823997/

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