AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Defektes Exception-Handling

Ein Thema von himitsu · begonnen am 20. Mär 2016 · letzter Beitrag vom 7. Apr 2016
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.338 Beiträge
 
Delphi 12 Athens
 
#1

Defektes Exception-Handling

  Alt 20. Mär 2016, 20:27
Delphi-Version: XE8
Im Prinzip hab ich diesen Code, in ButtonClick einer stinknormalen VCL-Anwendung.
Delphi-Quellcode:
try
  CreateProcess(...);
  CurrControl.Process := ProcessInfo.hProcess;
  //raise Exception.Create('Fehlermeldung');
  case WaitForInputIdle(CurrControl.Process, Timeout) of
    //0: ;
    //WAIT_TIMEOUT: RaiseLastOSError(WAIT_TIMEOUT, '.'#10'ExecuteAndWait.WaitForInputIdle');
    WAIT_FAILED: RaiseLastOSError(554{ERROR_CANT_WAIT}, '.'#10'ExecuteAndWait.WaitForInputIdle');
    //else RaiseLastOSError(GetLastError, '.'#10'ExecuteAndWait.WaitForInputIdle');
  end;
except
  on E: EOSError do begin
    OutputDebugString(PChar('ExecuteAndWait.' + E.ClassName + '(' + E.ErrorCode.ToString + '): ' + E.Message));
    CurrControl.CloseHandles;
    CurrControl.ExitCode := E.ErrorCode;
    raise;
  end;
  on E: Exception do begin
    OutputDebugString(PChar('ExecuteAndWait.' + E.ClassName + ': ' + E.Message));
    CurrControl.CloseHandles; // CloseHandle(Process);
    CurrControl.ExitCode := S_FALSE;
    raise;
  end;
end;
Normaler Weise müsste es im EOSError landen, aber ich bekomme immer nur eine EExternalException raus.
Zitat:
Erste Gelegenheit für Exception bei $76EEFA92. Exception-Klasse $C0000008 mit Meldung 'system exception (code 0xc0000008) at 0x76d3d3c7'.
Auch direkt ein RAISE endet an selber Stelle.

Außerhalb dieses Try-Except, also direkt im OnClick, funktioniert es problemlos, wenn ich diese Exceptions auslöse.

Ich hab einfach keine Ahnung, was hier los ist, denn das Exception-Handling selber (das von Delphi) scheint ja sonst zu funktionieren.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Mär 2016 um 20:33 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz