![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехватить сообщение об ошибке Oracle
lightix © (2003-08-12 11:30:00)
Юзаю Oracle через компоненты NCOCI
Подскажите как можно перехватить сообщение об ошибке, при этом узнать номер ошибки (ORA-XXXXX) и выдать свое сообщение в зависимости от номера?
Shur (2003-08-18 20:32:00) [1]
тебе еще надо? ответь, полистаю исходники!!!!
asp (2003-08-12 14:13:00) [2]
Я к DB2 подхожу след. образом:
Пишу "перехватчик" ошибок.
procedure TMainForm.AppEvents1Exception(Sender: TObject; E: Exception);
const
DB2ErrorID = "[IBM][CLI Driver][DB2/NT]";
begin
if (Pos(DB2ErrorID, E.Message) > 0) then
begin
if not(Assigned(DB2ErrorForm)) then
DB2ErrorForm:= TDB2ErrorForm.Create(Application);
DB2ErrorForm.DBException:= E as EDBEngineError;
try
DB2ErrorForm.ShowModal
finally
DB2ErrorForm.Free;
DB2ErrorForm:= nil
end
end else
Application.ShowException(E)
end;
Форма DB2ErrorForm имеет метод легкого синтаксического анализа текста сообщения об ошибке, вытаскивая из него номер и пр. полезную информацию. Ведь все сообщения от СУБД имеют одинаковую структуру.
Reindeer Moss Eater (2003-08-12 11:33:00) [3]
Смотри в документацию к своим компонентам и изучай классы генерируемых исключений, если у них они есть.