我有两个不同的例外,一个名为“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);
...
答案 0 :(得分:0)
变量名称本身没有任何相关性
但是在同一个try-catch块中不能有2个具有相同名称的变量
在第一种情况下,' e'可以是ClassNotFoundException或SQLException类型,
取决于抛出的异常。
答案 1 :(得分:0)
在第一种情况下:
catch(ClassNotFoundException | SQLException e){
System.out.println(e);
只会抓住ClassNotFoundException
或SQLException
(或其子类)的例外情况。
在第二种情况下:
catch (Exception e1) {
label.setText("SQL Error");
System.err.println(e1);
将捕获任何Exception
(或其子类)。