![]() |
Delphi-Version: 2010
catch (...)
Hallo,
in der Projektdatei wird folgender Text erzeugt:
Code:
Ich bin dabei über die Zeile catch (...) gestolpert.
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{ try { Application->Initialize(); SetApplicationMainFormOnTaskBar(Application, true); Application->CreateForm(__classid(TfrmABC), &frmABC); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } catch (...) { try { throw Exception(""); } catch (Exception &exception) { Application->ShowException(&exception); } } return 0; } //--------------------------------------------------------------------------- Was bedeuten die 3 Punkte :shock:. |
AW: catch (...)
Wird
![]() Zitat:
|
AW: catch (...)
Sammele alle anderen Exception ein die bisher nicht behandelt wurden.
Wäre bei Delphi Except ohne Typangabe. Hätte zwar gedacht das auch bei C++ Exception die Basis aller Typen ist, aber bei C++ gibt ja immer überraschungen ... |
AW: catch (...)
OK, danke. Hab ich mir schon gedacht. Nur wird diese Notation in der C++ Hilfe gar nicht erwähnt. (Ich konnte sie zumindest nicht finden :? )
|
AW: catch (...)
Zitat:
Zitat:
Code:
geht also in Ordnung.
throw 42;
Es gibt allerdings eine Hierarchie vordefinierter Exceptionklassen, die Basisklasse wäre da exception. Exception (großgeschrieben) ist eine C++ Builder Spezialität und eine nur dort parallel existierende Klassenhierarchie. |
AW: catch (...)
Zitat:
|
AW: catch (...)
Ja. Wenn man irgendwelchen Standard-C++ Code verwendet, könnte man vor den catch(...) Block noch einen
Code:
setzen. Je nach Bibliothek, die man verwendet, auch noch was anderes.
catch(std::exception& e)
{ // mit e.what() kommt man an den Fehlertext } |
AW: catch (...)
Danke für die Antworten. Noch eine Zusatzfrage zu dem Code im Try - Block.
Woher kennt die Anwendung an dieser Stelle das Objekt "Application" ? |
AW: catch (...)
Globale Variable in der Forms-Unit
|
AW: catch (...)
Ah ok, und diese kommt indirekt über das include der vcl.h mit rein. :freak:
|
AW: catch (...)
Zitat:
|
AW: catch (...)
Eine Feststellung. :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz