异常处理之间的区别

时间:2015-09-18 16:49:28

标签: java

我正在阅读Java中的异常处理,并且在理解下面的异常方法时遇到了问题。

public static Object deserialize() throws IOException,
        ClassNotFoundException {}

另一个

try {
    } catch (ClassNotFoundException | IOException e) {
            e.printStackTrace();
        }

我知道try和catch是如何工作的。但我不知道我的第一个例子中throws IOException,ClassNotFoundException是怎样的。

有什么区别?我应该选择哪个?

我知道这可能是个愚蠢的问题,因为我不知道如何在Google上搜索此内容。

1 个答案:

答案 0 :(得分:0)

第二个示例处理方法本身的异常。 第一个示例将此resposibility放在方法的调用者上。所以他们可以处理/抛出这些异常。

如果您知道在发生这些异常时该怎么做,那么请使用第二种方式。 如果您不知道该怎么做,并希望调用者对这些异常采取措施,那么请先使用。