Ранее код типа
try {
...
} catch(SQLException err) {
rollback(conn);
if(err.getErrorCode()==23505) ...
else throw new ...
}
работал нормально для некоторых SQL серверов.
PostgreSQL начиная с версии 7.4 ВСЕГДА там возвращает 0.
Реальные коды ошибок описаны в документации.
Другими словами, при работе с постгресом следует применять ::getSQLState();
try {
...
} catch(SQLException err) {
rollback(conn);
if("23505".equals(err.getSQLState())) ...
else throw new ...
}
Удачи!
Комментариев нет:
Отправить комментарий