这些Java异常有什么区别?

时间:2017-04-13 12:40:07

标签: java

我有两个不同的例外,一个名为“e”,另一个名为“e1”。我不明白的是: “e”和“e1”有什么区别?

示例1:

catch(ClassNotFoundException | SQLException e) {
    System.out.println(e); 
...

示例2:

catch (Exception e1) {
        label.setText("SQL Error");
        System.err.println(e1);
...

2 个答案:

答案 0 :(得分:0)

变量名称本身没有任何相关性 但是在同一个try-catch块中不能有2个具有相同名称的变量 在第一种情况下,' e'可以是ClassNotFoundException或SQLException类型,
取决于抛出的异常。

答案 1 :(得分:0)

在第一种情况下:

catch(ClassNotFoundException | SQLException e){
   System.out.println(e);

只会抓住ClassNotFoundExceptionSQLException(或其子类)的例外情况。

在第二种情况下:

catch (Exception e1) {
    label.setText("SQL Error");
    System.err.println(e1);

将捕获任何Exception(或其子类)。