В JDBC типы Connection
, Statement
и ResultSet
имеют каждый тип getWarnings ()
, указанный для создания первого предупреждения, связанного с объектами этого типа. Второе и последующие предупреждения, если они существуют, привязываются к первому предупреждению (если оно даже существует, null
выдается, если нет предупреждений).
В спецификации сказано что предупреждения, связанные с объектами этих типов, сбрасываются после определенных действий. Например, предупреждения для ResultSet
удаляются при чтении каждой новой строки.
Тип SQLWarning
является подтипом SQLException
. Значит, наличие предупреждения будет обозначено исключением? И это исключение будет привязано к связанному объекту, если типом времени выполнения исключения является SQLWarning
?
Мне интересно вот что, и это может быть связано с драйвером, как мне узнать, когда Я должен вызвать getWarnings ()
и ожидать ответа, отличного от null
? Другими словами, присутствует ли предупреждение в объекте JDBC и доступно с помощью getWarnings ()
только после того, как этот объект вызвал исключение? (и этим исключением является предупреждение?)
Следует ли мне вызывать getWarnings ()
для поиска предупреждений после каждой операции JDBC «на всякий случай», если моя цель - следить за каждым предупреждением?