在JDBC中,Connection
,Statement
和ResultSet
类型均具有getWarnings()
方法,该方法被指定为产生与该类型的对象关联的第一个警告。第二和后续警告(如果存在)被链接到第一个警告(如果甚至存在,如果没有警告,则生成null
)。
规范说,与某些类型的对象相关联的警告会在某些操作后清除。例如,读取每个新行时,会清除ResultSet
上的警告。SQLWarning
类型是SQLException
的子类型。那么是否会通过异常指示警告的存在?如果该异常的运行时类型为SQLWarning
,则该异常将被链接到关联的对象?
我想知道的是,它可能是特定于驱动程序的,我如何知道何时应调用getWarnings()
并期望得到非null
的响应? 换句话说,在JDBC对象上是否存在警告,并且仅在该对象引发异常后,它才可以与getWarnings()
一起使用? (那是警告吗?)
如果我的目标是观察每个警告,是否应该在每个JDBC操作之后调用getWarnings()
查找警告?
最佳答案
[reference]
坦白地说,我从未发现自己要检查警告。可能是我从未做过任何严肃的事情。