AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strukturierte Ausnahmebehandlung

Ein Thema von Luckie · begonnen am 13. Jun 2004 · letzter Beitrag vom 13. Jun 2004
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Strukturierte Ausnahmebehandlung

  Alt 13. Jun 2004, 02:10
Es gibt unter Delphi ja die strukturierte Ausnahmebehandlung (SEH = Stuctured Exception Handling). jetzt hab eich da mal eine Frage dazu: In meinem Buch ("Windows Programmierung für Experten") steht folgendes:
Zitat:
Man soll die SEH von C++ (throw, catch) nicht mit der der SEH, die in Windows implementiert ist durch einander bringen.
Die in VC Compiler spezifische SEH C++ Syntax lautet:
Code:
__try {


}
__catch {



}
Und die in der C++ Bibliotheken integrierte SEH:
Code:
try {


}
catch {


}
Erstere nutzt also die in der API integrierte SEH und zweitere ist eine C++ spezifische SEH.

Jetzt meine Frage: Wie sieht das in Delphi aus? Ist
Delphi-Quellcode:
try

except

end
die sprachspezifische SEH oder die aus Windows? Oder ist es gar ein Mischmasch?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Strukturierte Ausnahmebehandlung

  Alt 13. Jun 2004, 03:02
Moin!

Beides. Delphi verbindet die Windows Exceptions und die Sprachexception mit ein und dem gleichen Exception Handling Block. Das kann man z.B. sehr gut daran erkennen, wenn man in einem Asm / End; eine ungültigen CPU Opcode mit db definiert und der Try / Except Block aussen herum die EInvalidOpcode Message ordentlich mit abfängt (die aber von Windows ausgelöst wird).

Beim BCB ist es eh auch fast das gleiche - ob man nun try / finally schreibt oder __try / __finally oder _try / _finally. Man sollte nur darin nicht mischen (also __try / _finally, etc).

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Strukturierte Ausnahmebehandlung

  Alt 13. Jun 2004, 03:08
Also sollte man in C++ Sprachexceptionen mit try-catch abfangen und Windows Exceptionen mit __try-__catch? Aber welche Windows Funktionen werfen Exceptionen? Die haben doch alle einen Rückgabewert. Wo ist der Sinn in den Windows Exceptionen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz