Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#14

AW: EDivByZero ohne Sysutils fangen

  Alt 4. Aug 2011, 16:35
Im Klartext heißt das, dass ich keine Chance habe über einen lokalen Delphi-Exception-Handler diese Exception zu fangen?
Tip mal ExceptProc und drück F1, falls Du kein Delphi mit Onlinehilfe mehr hast, hier die Ausgabe von D6:

Zitat von Delphi Hilfe:

Points to the lowest-level RTL exception handler.

Unit System

Category exception handling routines

var ExceptProc: Pointer;

Description

ExceptProc handles unhandled exceptions (exceptions that have not been caught in the except portion of a try..except statement.) If your application has a TApplication object, it automatically catches exceptions and generates an OnException event (to which you can respond using either the application’s or a TApplicationEvents object’s OnException event handler). Thus, because the TApplication object catches the exceptions, they never reach the ExceptProc handler. However, even if you have a TApplication object, it does not catch exceptions generated during initialization and finalization. These are handled by ExceptProc.

You can hook into ExceptProc to change how unhandled exceptions are reported. To do so, save the contexts of ExceptProc before changing it to the address of your own exception handler. The first statement of your new exception handler must then reinstall the saved value of ExceptProc. In this way, the ExceptProc procedure becomes part of a chain of exception procedures, each of which is executed in reverse order of installation.

The procedure assigned to ExceptProc must have a signature such as the following:

procedure ExceptHandler(ExceptObject: TObject; ExceptAddr: Pointer);
  Mit Zitat antworten Zitat