我正在阅读Java中的异常处理,并且在理解下面的异常方法时遇到了问题。
public static Object deserialize() throws IOException,
ClassNotFoundException {}
另一个
try {
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
我知道try和catch是如何工作的。但我不知道我的第一个例子中throws IOException,ClassNotFoundException
是怎样的。
有什么区别?我应该选择哪个?
我知道这可能是个愚蠢的问题,因为我不知道如何在Google上搜索此内容。
答案 0 :(得分:0)
第二个示例处理方法本身的异常。 第一个示例将此resposibility放在方法的调用者上。所以他们可以处理/抛出这些异常。
如果您知道在发生这些异常时该怎么做,那么请使用第二种方式。 如果您不知道该怎么做,并希望调用者对这些异常采取措施,那么请先使用。