jav*_*eek 6 java sql exception-handling exception sqlexception
有人能解释一下 catch anException和 catch an之间的区别SQLException吗?我知道如果您选择打印出异常错误,SQLException 会打印出更多信息,但是还有其他什么吗?
try {
//code
} catch(Exception ex) {
//code
}
Run Code Online (Sandbox Code Playgroud)
和
try {
//code
} catch(SQLException ex) {
//code
}
Run Code Online (Sandbox Code Playgroud)
在 catch 块中使用Exception和有什么好处和区别SQLException?
这不是唯一的区别。
捕获Exception是危险的,因为它还捕获所有RuntimeExceptions (因此是未经检查的异常),并且包括诸如此类的细节NullPointerException,这些都是明显的程序员错误。不要那样做!
另外,Exception它是一个与其他类一样的类,因此您可以对其进行子类化并添加您自己的构造函数/方法。例如,SQLException有一个没有的.getErrorCode()方法Exception。如果你只捕获Exception,则无法访问此方法。
一般来说,首先捕获“更精确”的异常是最好的。例如,使用新的(Java 7...)文件 API,您可以轻松区分文件系统级别错误和其他 I/O 错误,因为FileSystemExceptionextends IOException:
try {
something();
} catch (FileSystemException e) {
// fs level error
} catch (IOException e) {
// I/O error
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7305 次 |
| 最近记录: |