Rus*_*old 4 java methods return exception try-catch
return在以下方法中使用的正确方法是什么?
public Image getImage() {
try {
Image img = ImageIO.read(new File(URL));
return img;
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
IDE要求我最后返回一些东西.但我不知道我应该回归什么.
正确答案是:取决于您的要求.选项包括:
如果此方法的调用者可以处理null答案,则从catch块返回null.或者,在这种情况下,您可以返回"特殊"预定义图像对象.可能是一种稍微好一点的方法 - 因为返回null总是在其他地方引起Nullpointerexceptions的第一步.
或者,您捕获并重新抛出一些未经检查的异常.或者你根本没有捕获并且在方法的签名中添加"throws IoException".
使用Java 8时,简单的解决方案是使用新类Optional.