很多情况下,捕捉异常想要很准确,是需要经验,在一段可能产生异常的代码上捕捉异常,比如你上面的代码,执行Class.forName(sDbDriver);就可能会产生找不到类名的情况,又比如sleep时可能会被打断,就catch(InterruptedException e)
看到什么代码就可以判断会有什么可能出异常,这不是很容易,经常的编码才能积累经验
所以最好用catch(Exception e)保险
看到什么代码就可以判断会有什么可能出异常,这不是很容易,经常的编码才能积累经验
所以最好用catch(Exception e)保险
catch(Exception e){
System.out.println(e);
}
把e打出来,你就能看到Exception具体是它的哪个子类的异常
就是某些方法定义时有 throws XXXException 时。