__try und try/catch/finally in C
In C wird die Ausnahmebehandlung hauptsächlich durch die try/catch/finally-Blöcke erreicht. Es gibt jedoch weniger bekannte Befehle, die mit doppelten Unterstrichen beginnen, wie zum Beispiel __try. Dieser Artikel soll klären, wann diese Unterstriche notwendig sind.
Auf Windows-Systemen werden Ausnahmen durch Structured Exception Handling (SEH) unterstützt, einen Mechanismus auf Betriebssystemebene. Compiler nutzen diese SEH-Infrastruktur normalerweise für die Implementierung von C-Ausnahmen. Die Schlüsselwörter „throw“ und „catch“ behandeln ausschließlich C-Ausnahmen, wobei der entsprechende SEH-Ausnahmecode 0xe06d7363 lautet.
Um SEH-Ausnahmen zu behandeln, erfordern C-Programme die Verwendung des nicht standardmäßigen Schlüsselworts __try. Darüber hinaus ähnelt __exclusive „catch“, ermöglicht jedoch die Angabe eines Ausnahmefilters, um zu bestimmen, ob eine aktive Ausnahme behandelt werden soll. __finally aktiviert die Codeausführung nach der Ausnahmebehandlung.
Um diese Konzepte zu veranschaulichen, betrachten Sie das folgende Beispielprogramm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Das obige ist der detaillierte Inhalt vonWann sollten Sie in C „__try' und „__exclusive' anstelle von „try' und „catch' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!