Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

Как узнать код ошибки и вместо стандартного окна выдать свое?   Найти похожие ветки 

 
lightix   (2003-03-25 13:15) [0]

Подскажите плз, как при возникновении ошибки узнать ее код и обработать (выдать свое окно с сообщением)?
например если на форме стоит таблица, дата соурс и дэбэгрид, при попытке внести значение не соотвестствующее типу данных.
Заранее благодарен.


 
andrey_pst ©   (2003-03-25 13:33) [1]

try
...
except
...
MessageDlg("Ошибка." + #13 + "Текст ошибки:" + #13 + Exception(ExceptObject).Message, mtError, [mbOk], 0);
end;

ну а если хочешь поконкретнее:
try
...
except on EDatabaseError do
...
end;


 
Clickmaker ©   (2003-03-25 13:34) [2]

Более универсально Application.OnException


 
AlexVit ©   (2003-03-25 13:47) [3]

Можно так:
procedure TForm1.FormCreate(Sender: TObject);
begin
...
Application.OnException := AppException;
...
end;

procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
...
if Copy(E.Message, 1, 9) = "ORA-03113" then
Application.MessageBox("Твое описание ошибки", "Внимание", MB_OK)
else
Application.ShowException(E)
...
end;


Вместо 3-го параметра функции Copy и вместо "ORA-03113" поставь свои данные. Так можно обработать любую ошибку.


 
y-soft ©   (2003-03-25 14:02) [4]

>AlexVit © (25.03.03 13:47)
Можно и сразу перхватывать исключение и подставлять свое уточняющее сообщение. Помогает при отладке

procedure TMyForm.AnyProc(Sender : TObject);
begin
try
except
On E:Exception do
begin
E.Message := E.Message + #13#10 + "Ошибка произошла в процедуре AnyProc";
raise;
end;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.04.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-19454
Lord Vader
2003-03-19 05:00
2003.04.07
Свободнный ввод в поля типа Currency и обратное преобразование


1-19548
multik
2003-03-26 19:00
2003.04.07
Привет всем! Проблемы с сохранением рисунка.


4-19912
Tornado
2003-02-07 11:22
2003.04.07
Вызов диалога


7-19886
Phant0m
2003-02-12 12:35
2003.04.07
Нужно обработать сигнал с СОМ или LPT порта


14-19856
Polevi
2003-03-21 11:27
2003.04.07
Форум тормозит, господа хостеры, сделайте что нибудь