我正在开发一个java程序,它将由多个方法构建,每个方法都有自己的try / catch块。我发现自己在每个try块中复制了相同的catch块。
有没有办法让多个try块使用一个catch块?
由于
答案 0 :(得分:2)
将共享逻辑放在一个公共方法中,并从每个catch块调用它。
答案 1 :(得分:1)
try {
try (BufferedReader autoClosable1 = new BufferedReader(new FileReader(new File("")))) {
}
try (BufferedReader autoClosable2 = new BufferedReader(new FileReader(new File("")))) {
}
} catch (Exception e) {
e.printStackTrace();
}
//在java 7开始尝试..
答案 2 :(得分:0)
我不相信您可以从一个try
发出多个catch
声明,但根据具体情况,您可能不需要它。
如果您正在编写的代码抛出相同的异常,则可以在一个try...catch
语句中处理它们。将所有狡猾的代码放在try
块中,并处理通过的异常。
如果您正在编写的代码抛出不同的异常,那么使用Java 7,您可以catch multiple exceptions within one catch
block。你仍然将狡猾的代码放在一个try
块中。
答案 3 :(得分:0)
不,你不能那样做。您必须至少有一个catch块或finally块才能编译try块。由于finally块无论如何都会被执行,无论是否发生异常,都必须有catch块以防止发生异常。正如jtah所说,你可以在每个catch块中执行一个通用的方法。