gpt4 book ai didi

java - 如果发生检查异常返回什么?

转载 作者:行者123 更新时间:2023-11-29 03:26:46 25 4
gpt4 key购买 nike

我想知道当发生某些异常时应该返回什么,就像我的示例中一样

public MyClass createComponent(){
String className = "foo.MyClass";
try {
final Class<? extends MyClass> clazz = Class.forName(className).asSubclass(MyClass.class);
return clazz.getDeclaredConstructor(List.class, String.class).newInstance(list, name);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
// return null; //??
}

最佳答案

根据您的 API 逻辑和根异常的相似性,您可能会

  • 返回null
  • 重新抛出异常
  • 让它通过(即声明而不捕获)
  • 抛出一个新的异常,嵌入原因

如果异常确实异常(它们不应该发生),从您的代码看来,您可能应该抛出运行时异常或 InternalError 说明您的库中存在内部错误。在这里返回 null 没有任何好处,而且可能会隐藏一个错误。

关于java - 如果发生检查异常返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20656732/

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