Шаг 28.
Средства отладки в Borland Delphi 4.0. Конструкторы исключений
На этом шаге мы приведем описание конструкторов исключений.
В интерфейсе класса Exception находятся 8 конструкторов, наследуемых всеми исключениями.
Приведем их описание:
- Create (const Msg: String); - конструктор, передающий строку сообщения Msg
свойству Message;
- CreateFmt (const Msg: String; const Args: Array Of const); - конструктор формирует строку
свойства Message, исходя из строки описания формата Msg и массива аргументов Args;
- CreateRes (Ident: Integer); - конструктор задает строку свойства Message идентификатором Ident
строки сообщения в ресурсах проекта;
- CreateResFmt (Ident: Integer; const Args: Array Of const); - конструктор задает строку свойства Message идентификатором Ident строки описания формата в ресурсах проекта и массивом аргументов Args;
- CreateHelp (const Msg: String; HelpContext: Integer); - конструктор передает строку сообщения Msg свойству Message; свойству HelpContext передает идентификатор HelpContext контекстно-зависимой справки по этому исключению;
- CreateFmtHelp (const Msg: String; const Args: Array Of const; HelpContext: Integer); - конструктор формирует строку свойства Message, исходя из строки описания формата Msg и массива аргументов Args; передает свойству HelpContext идентификатор HelpContext контекстно-зависимой справки по этому исключению;
- CreateResHelp (Ident, HelpContext: Integer); - конструктор задает строку свойства Message идентификатором Ident строки сообщения в ресурсах проекта; передает свойству HelpContext идентификатор HelpContext контекстно-зависимой справки по этому исключению;
- CreateResFmtHelp (Ident: Integer; const Args: Array Of const; HelpContext: Integer); - конструктор формирует строку свойства Message, исходя из строки описания формата в ресурсах проекта, указываемой идентификатором Ident, и массивом аргументов Args; передает свойству HelpContext идентификатор HelpContext контекстно-зависимой справки по этому исключению.
Приведем несколько примеров использования конструкторов:
- Raise EMy.Create('Не хватает исходных данных'); - генерация собственного исключения EMy;
- Raise EZeroDivide.Create('Деление на нуль'); - генерация стандартного исключения ZeroDivide с измененным сообщением;
- Raise EMy.Create(Format('Задано %d параметров из %d',[N1,N2])); - использование функции Format;
- Raise EMy.CreateFmt('Задано %d параметров из %d',[N1,N2]); - использование конструктора CreateFmt. Конструкторы, имеющие в своем
имени Fmt, сами неявно обращаются к функции Format;
- Raise EMy.CreateHelp('Не хватает исходных данных',10); - использование конструктора CreateHelp. Если после вывода диалогового окна пользователь нажмет клавишу F1, то ему будет предъявлена контекстная справка с идентификатором 10;
- Raise EMy.CreateRes(65539); - передача в свойство Message строки из файла ресурсов с номером 65539;
- Raise EMy.CreateRes(65539,[N1,N2]); - берет из файла ресурсов строку с номером 65539 как строку описания формата и передает в свойство Message сформатированные с ее помощью значения переменных N1 и N2.
На следующем шаге мы познакомимся с обработкой исключений.
Предыдущий шаг
Содержание
Следующий шаг