Обработка RAISE_APPLICATION_ERROR на стороне Java с использованием BC4J

Как я могу обработать ошибку, выданную со стороны базы данных с RAISE_APPLICATION_ERROR на стороне Java.

Я использую структуру BC4J и в этом ViewObject используется для передачи данных в базу данных, поэтому код, из которого я устанавливаю данные, не выдает SqlException следовательно, я не могу положить его в try..catch,

ОБНОВИТЬ

Как мы можем справиться SQLException быть воспитанным откуда-то еще. Мы не можем поставить try catch заблокировать его как проверенное исключение и скомпилировать ошибку времени.

1 ответ

Предположим, вы подняли ошибку как:

raise_application_error(-2222, 'err message for -2222 error');

В JDBC вызов этой хранимой процедуры, внутри catch:

try {

//invoke stored-procedure

}catch(SQLException e) {
if(e.getErrorCode()==-2222) {
//handle error here, or convert to some specific error and use e.getMessage()
}
}

РЕДАКТИРОВАТЬ:

Я не использовал BC4J но это JboException тоже есть String getErrorCode(), вы можете попробовать поиграть с этим..

Другие вопросы по тегам