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

Вниз

Как при создании исключения передать код ошибки?   Найти похожие ветки 

 
Mishenka   (2003-11-02 17:51) [0]

Создаётся исключение потомок EAbort с помощью raise. Как в except передавать не текстовое сообщение об ошибки с помощью Скуфе, а числовой код?


 
default ©   (2003-11-02 17:55) [1]

на крайняк, число в строковом предствавлении сложно перевести в "обычное" число?


 
Юрий Федоров ©   (2003-11-02 18:23) [2]

конструктор переписал? С передачей кода?
Свойство код завел ?
Дальше просто кастишь в Except под нужный класс


 
Mishenka   (2003-11-02 18:54) [3]

Нет. Просто создал класс без всяких конструкторов.
type
EMaskError=class(EAbort)
end;

Там у EAbort вроде кроме Create есть ещё метод CreatRes, он вроде передаёт числа, только как их потом в exception"e прочитать?


 
Palladin ©   (2003-11-03 02:16) [4]

Ну да, вроде бы числа, но внимание вопрос! Что означают эти числа?
Ответ см. в справке.


 
Slym ©   (2003-11-03 05:59) [5]

type
EMaskError=class(Exception)
private
FCode:integer;
public
constructor Create(const Msg: string;Code:integer=0);override;
property Code:read FCode;
end;

constructor EMaskError.Create(const Msg: string;Code:integer=0);override;
begin
FCode:=Code;
inherited Create(Msg);
end;

Пример:
try
except
on e:EMaskError do
if e.Code=1 then exit
end


 
Романов Р.В. ©   (2003-11-03 07:39) [6]

А чем Get/SetLastError не нравится?



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

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

Наверх




Память: 0.48 MB
Время: 0.108 c
7-42188
Olexandr
2003-08-27 13:45
2003.11.13
FIFO event


3-40846
Alex-kosmonavt
2003-10-21 16:43
2003.11.13
Как удалить


1-41589
VaZa
2003-10-24 23:24
2003.11.13
Список установленых программ


14-41935
konstantinov
2003-10-20 21:45
2003.11.13
Подскажите формулу градусы Кельвина -> Фаренгейт


14-42097
ZeroDivide
2003-10-23 10:33
2003.11.13
Кто знает, чем закончилась