作为客户端,当我的程序的输入/输出发生“不良”情况时,应该抛出 I/O 异常。现在,当我连接到服务器时,我的程序作为该服务器的客户端具有输入输出关系。因此,当通信中的某些内容不起作用(某些“坏”)时,产生的异常应该是 IOException,即 SQLException 应该扩展 IOException。
为什么情况并非如此?
最佳答案
因为SQLException
并不总是与IO相关。
例如,如果您编写了错误的 SQL 命令,则会出现 SQLException
。
以下是与 IO 无关的可能 SQLException 的非详尽列表:
- 错误的 SQL 语法
- 属性编号错误
- 属性类型错误
- 违反约束
- 权限问题
- 主键重复
- 不存在的表或列名称
来自javadoc :
An exception that provides information on a database access error or other errors.
关于java - 为什么 SQLException 不扩展 IOException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38224141/