Java中的异常:使用throws或try-catch

时间:2014-09-30 09:59:42

标签: java exception-handling

这是一个讨论得很好的话题。在许多链接中,我确实发现以下两个有用。

12

我的问题是:

  1. 我正在编写多种方法,其中一些用于一般用途 - 例如,写入文件,从文件读取,使用一些正则表达式拆分字符串。

  2. 我从我的应用程序的不同部分调用这些方法 - 比如class1,class 2和class 3调用文件编写方法,但是使用不同的文件名和数据。

  3. 我应该在哪里添加try catch和throws? 1.最外层的方法,比如main,我从哪里调用class1,class2和class3方法在最里面的函数中有一组try,catch和use throws。

    1. 或者,尝试捕获最里面的无 - 外部文件..
    2. 哪个是更好的选择,为什么?有没有其他方法可以解决这个问题。

      由于

1 个答案:

答案 0 :(得分:2)

此问题的核心是如何逻辑决定需要处理例外的地方

我们举一个例子。获取File对象并执行某些操作的方法。

public void performFileOperation(File f) throws FileNotFoundException{
    // Perform logic.
}

在这种情况下,您可能希望调用此方法的类/方法处理 Exception。如果在performFileOperation()方法中有try / catch块,则调用performFileOperation()方法的方法永远不会知道操作是否失败(因此无法知道如何处理)。 / p>

实际上,处理引发的Exception是有意义的。 您需要确定代码的哪些部分需要知道发生了异常,并在那里使用try / catch块。如果下一级别也需要知道,那么catch块可以抛出Exception,这样堆栈中的方法也可以知道并处理它。

另一个看待它的好方法是需要处理大多数异常。他们需要做些什么。如果你的方法不能做一些重要的事情来处理那个异常,那么它需要throw Exception,直到它能够到达一个可以有意义地处理(读取,做某事)它的地方

我希望这会有所帮助。

相关问题