【发布时间】:2019-08-06 22:31:24
【问题描述】:
我有以下问题。
我在method 1 中工作,这个method 1 应该返回某个类的对象。
对于我的返回语句,我调用了另一个 method 2(它当然返回了该类的一个对象)。虽然这个另一个method 2 抛出了一个异常。我应该如何在我最初的method 1 中写我的退货声明?
像这样?
public class testClass {
public testClass() {
}
public <T> T method1(parameter1, ...) {
if(parameter1) {
return () -> {
try {
method2(parameter1, parameter2...);
}
catch (CloneNotSupportedException ex) {
System.err.print("Error while cloning programmer");
}
};
} else {
return null;
}
}
但我想如果我这样做它只会返回null? 我应该把 return null 放在最后一个括号之后吗?或者我应该以完全不同的方式写这个?
【问题讨论】:
-
你好。看起来您在问题中编写的代码格式不正确。如果您的代码至少接近可运行,这将很有帮助(例如,您不必在所有方法中存根,但至少让其他人可以毫不费力地这样做)
-
对
method2的调用可能会成功并可能引发异常,但无论如何它都会执行try 和catch 块之后的操作,即返回null。您可以根据需要对其进行修改。我没有你所有的代码,所以我不知道你想在那里做什么。向我们提供更多信息,以便我们进一步为您提供帮助。 -
嗨,我已经更新了我的帖子。谢谢你的建议。基本上通常不应该抛出异常。我应该总是从方法 2 中获取该对象。我假设如果仍然抛出异常,我必须将 return null 放在我的括号中?
标签: java exception methods return throw