|
|||
constructorCreateResHelp(Ident: Integer;aHelpContext: Integer) ;type Exception = class(TObject) private FMessage: String; FHelpContext: Integer; public constructor Create(const Msg: String); constructor CreateFmt(const Msg: String; const Args: array of const); constructor CreateRes(Ident: Integer); constructor CreateResFmt(Ident: Integer; const Args: array of const); constructor CreateHelp(const Msg: String; аНеlpContext: Integer); constructor CreateFmtHelp(constMsg: String;const Args: array of const; aHelpContext: Integer); constructorCreateResHelp(Ident: Integer;aHelpContext: Integer) ; constructor CreateResFmtHelp(Ident: Integer; const Args: array of const; aHelpContext: Integer); property HelpContext: Integer read FHelpContext write FHelpContext; property Message: String read FMessage write FMessage; end; В классе определены целых 8 конструкторов для создания объекта. С их помощью можно прочитать текстовое сообщение из ресурса, отформатировать его, связать исключение с контекстной справочной службой. Свойство Message делает доступным закрытое поле FMessage, в котором содержится текстовое сообщение.
Стандартные классы исключений В Delphi определены стандартные классы исключений (см. приложение Б). Именно эти имена, а также имена пользовательских классов (см. ниже) могут применяться в обработчиках исключений. Важно помнить, что управление передается самому первому обработчику (возможно существование нескольких обработчиков), класс которого способен обрабатывать данное исключение. Если, например, в списке первым стоит класс EAbort, который может обработать любое исключение, ни один из стоящих за ним обработчиков никогда не получит управления. Точно также, если указан обработчик для класса EIntError, за ним бесполезно размещать обработчики EDivByZero, ERangeError или ElntOverflow.
|
|||
|