在JDBC中,Connection,Statement和ResultSet类型都具有getWarnings()方法,该方法被指定用于生成与该类型的对象关联的第一个警告.第二个及后续警告(如果存在)将链接到第一个警告(如果它甚至存在,则在没有警告时产生null).
规范说明在某些操作后,与这些类型的对象相关的警告会被清除.例如,在读取每个新行时,将清除ResultSet上的警告.
sqlWarning类型是sqlException的子类型.那么,例外是否会出现警告?如果异常的运行时类型是sqlWarning,那么该异常将被链接到关联对象?
我想知道的是这个,它可能是特定于驱动程序的,我怎么知道何时应该调用getWarnings()并期望一个非null的响应?换句话说,JDBC对象上是否存在警告,只有在该对象抛出异常后才能使用getWarnings()? (那个例外就是警告?)
如果我的目标是观察每个警告,我应该在每次JDBC操作之后调用getWarnings()来查找警告“只是为了确定”吗?
解决方法
On the other hand,you must explicitly
check for any sql warnings,because
they aren’t propagated via the
standard exception-handling
mechanisms. To do so,call the
appropriate getWarnings method on the
relevant JDBC object.
坦率地说,我从来没有发现自己要检查警告.可能是我从来没有做过任何严肃的事情.