try {
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}与 try {
} catch (Exception e) {
}有什么区别啊!
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}与 try {
} catch (Exception e) {
}有什么区别啊!
解决方案 »
- 如何用Java实现如360安全卫士顶端菜单栏类似的样子?
- 急用!就高手。帮忙把我的计算器程序看看啊!!
- java 日期处理的原理
- 求助
- 关于hashMap的Key用法
- 请教进度条的设置与使用的一个简单问题??
- 关于界面,对象分离的问题
- 找不到类,请大家帮忙解决,谢谢
- 哪里有Mastering ejb 第一版英文版下载,马上结帖
- Java序列化之 java.io.NotSerializableException: java.nio.HeapByteBuffer
- 所有的客户环境都在远程,且相当多样和复杂,现在面临的问题是如何对客户环境下的代码进行远程调试,而不用在本地建立一对一的调试环境。请高手出招
- 没分,求解,烦人的各种文档。
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} 先catch NamingException,再catch SQLException ,可得到更详细的信息
} 有什么区别啊不管什么exception都catch出来try { } catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
则只catch NamingException 和 SQLException
如果出现其他的异常,我可以再加上,关键是这2种方式是不是在系统消耗上有什么区别,
不然所有的异常我们都用catch (Exception e) 来获取算了!
那两个异常范围广,甚至还能捕获到运行期的异常,比如空指针、数组越界什么的。如果需要进行处理,比如在 JNDI 获得数据源异常时会抛出 NamingException 异常,
这时我们可以在这个 catch 块中尝试其他的方法,比如从另一个 JNDI 树,或者是其
他地方获得。在 SQLException 中呢,我们可以处理一些 SQL 的异常。如果只捕获 Exception 的话,那在有异常时要判断是 NamingException 还是 SQLException 呢,
这时就会很麻烦,因为我们得根据不同的异常作出不同的处理。
想明白了,谢谢!
其实关键的差别在于catch中可以针对不同的异常做不同的异常操作,而Exception就还需要我们人工判断出的具体是什么异常,然后才能做异常操作!
谢谢!
2.抛出NamingException和SQLException时你可以做不同的处理