我想知道应该返回什么,当我的例子中出现一些异常时
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; //??
}
答案 0 :(得分:4)
根据您的API的逻辑和根异常的相似性,您可以
null
如果异常非常特殊(它们不应该出现),如您的代码所示,您可能应该抛出运行时异常或InternalError
,指出库中存在内部错误。在这里返回null
没有任何好处,可能会隐藏一个错误。