скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Глобальный дескриптор исключений



Оформил: DeeCo

{ 
  Although it's easy to catch exceptions using try/except blocks, 
  some applications might benefit from having a global exception handler. 
  For example, you may want your own global exception handler to handle "common" 
  errors such as "divide by zero," "out of space," etc. 
  Thanks to the TApplication's "OnException" event, 
  which occurs when an unhandled exception occurs in your application, 
  you can easily catch the unhandled exceptions. 


  Obowhl es leicht ist, Fehler mittels try/except abzufangen, 
  ist es manchmal von Vorteil, wenn die Anwendung eine eigene globale 
  Fehlerbehandlungsroutine hat. 
  Zum Beispiel zum Abfangen von Fehlern wie "Dividiert durch Null" 
  oder "Zuwenig Speicherplatz" etc. 
  Mit dem OnException Ereignis von TApplication ist es leicht, 
  unbehandelte Fehler in der eigenen Anwendung abzufangen. 
  Jede Exception, die nicht durch einen Try-Except-Block abgefangen wurde, 
  gelangt dann automatisch in die Routine "MyExceptionHandler". 
}

 {1. 

 Declare your custom exception handler: 
 eklariere den eigenen globalen Exception Handler: 
}


 { Public declarations }
 procedure MyExceptionHandler(Sender : TObject; E : Exception );


 {2. 

 Define your exception handler in the "implementation" section: 
 In den Implementations-Abschnitt kommt dieser Code: 
}

 procedure TForm1.MyExceptionHandler(Sender : TObject; E : Exception );
 begin
   MessageDlg('ERROR: ' + E.Message);
 end;


 {3. 

 Assign the created exception handler to your application's OnException event. 
 Weise dem OnException Ereignis den eigenen Exception Handler zu. 
}

 procedure TForm1.FormCreate(Sender: TObject);
 begin
      Application.OnException := MyExceptionHandler;
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook