Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
3-19490
АлеКо
2003-03-18 09:10
2003.04.07
Работа с dbf (clipper)


3-19477
zom
2003-03-19 15:25
2003.04.07
Как можно использовать TDBComboBox ?


14-19813
Vlad Oshin
2003-03-19 10:57
2003.04.07
MS-DOS программа перестала работать.


1-19531
dima78
2003-03-26 12:19
2003.04.07
Неиспользуемые модули


3-19410
Askik
2003-03-17 16:48
2003.04.07
Можно ли соединить два запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский