<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Try + Catch(...) : Wie rausbekommen was für eine Exception ?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>also es wird irgendwie eine Exception geschmissen, die ich nicht<br />
zuordnen kann und auch nur über catch(...)<br />
gefangen bekommen.</p>
<p>Hat jemand ne Ahnung wie ich nun mehr Infos bekommen kann was da genau<br />
geschmissen wir ?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176379/try-catch-wie-rausbekommen-was-für-eine-exception</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 16:22:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176379.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Mar 2007 17:30:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 20 Mar 2007 17:30:28 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>also es wird irgendwie eine Exception geschmissen, die ich nicht<br />
zuordnen kann und auch nur über catch(...)<br />
gefangen bekommen.</p>
<p>Hat jemand ne Ahnung wie ich nun mehr Infos bekommen kann was da genau<br />
geschmissen wir ?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249269</guid><dc:creator><![CDATA[tantor79]]></dc:creator><pubDate>Tue, 20 Mar 2007 17:30:28 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 20 Mar 2007 17:58:17 GMT]]></title><description><![CDATA[<p>du musst wissen was überhaupt zum schmeißen in frage kommt.</p>
<p>wenn es deine eigene funktion ist, die throw ausführt, weißt du es, sonst sollte es dokumentiert sein.</p>
<p>können eig mehrere sachen gleichzeitig geworfen werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249283</guid><dc:creator><![CDATA[piXelshooter]]></dc:creator><pubDate>Tue, 20 Mar 2007 17:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 20 Mar 2007 18:31:44 GMT]]></title><description><![CDATA[<blockquote>
<p>können eig mehrere sachen gleichzeitig geworfen werden?</p>
</blockquote>
<p>Klar, du brauchst nur nen Objekt von verschiedenen Exceptions ableiten ^^</p>
<p>Oder in 2 Threads *g*</p>
<p>Nein, geht nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249314</guid><dc:creator><![CDATA[Triple Exception]]></dc:creator><pubDate>Tue, 20 Mar 2007 18:31:44 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 20 Mar 2007 23:34:29 GMT]]></title><description><![CDATA[<p>MSVC zeigt es im Debugmodus an. Ich weiss nicht ob das mit allen LIBs funktioniert von denen man eine Debug Version hat, oder ob die das irgendwie verhindern können, aber normal wird's angezeigt.</p>
<p>Ansonsten kannst du über mit &quot;catch(...)&quot; gefangene Sachen garnix rausfinden.</p>
<p>Und &quot;gleichzeitig&quot; können keine Exceptions fliegen, allerdings werden beim Stack-Unwinding Destruktoren aufgerufen, und die können natürlich auch was werfen wenn sie wollen. Wenn das passiert wird das Programm abgebrochen. Was nur einer der Gründe ist warum man in Destruktoren niemals um sich werfen sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249509</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 20 Mar 2007 23:34:29 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Wed, 21 Mar 2007 07:00:35 GMT]]></title><description><![CDATA[<p>Normalerweise müßte das im Header bei der Deklaration der Funktion stehen, was sie werfen kann (und einem der Compiler einen auf die Finger hauen, falls man was anderes versucht zu werfen).</p>
<p>Sau blöd ist nur, dass das manche Compiler z.B der von MS (meines Wissens selbst der 2005er) nicht unterstützen. Da hilft nur Doku und beten, dass die Info's stimmen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249542</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 21 Mar 2007 07:00:35 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Wed, 21 Mar 2007 08:41:42 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>...(und einem der Compiler einen auf die Finger hauen, falls man was anderes versucht zu werfen). ...</p>
</blockquote>
<p>Leider nicht !<br />
Lt. Standard wird erst zur Laufzeit geprüft (wenn überhaupt), ob eine unerwartete Exception geworfen wird. In dem Fall wird unexpected() aufgerufen, die wiederum üblicherweise terminate() aufruft, das üblicherweise einen abort() durchführt .... sprich: Es hilft gar nichts ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1249578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249578</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 21 Mar 2007 08:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Wed, 21 Mar 2007 19:12:32 GMT]]></title><description><![CDATA[<p>Nein, es müsste nicht in der Header stehen, und es ist auch gut dass es nicht so ist.<br />
Oh mein Gott, die &quot;throw specs&quot; Jünger...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250038</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 21 Mar 2007 19:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Thu, 22 Mar 2007 08:26:02 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Nein, es müsste nicht in der Header stehen, und es ist auch gut dass es nicht so ist.<br />
Oh mein Gott, die &quot;throw specs&quot; Jünger...</p>
</blockquote>
<p>Nur, weil es mich interessiert: Zählst Du mich dazu ? Wer sind in Deinen Augen &quot;throw specs Jünger&quot; ? Und was hast Du gegen sie ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250233</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 22 Mar 2007 08:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Thu, 22 Mar 2007 12:16:41 GMT]]></title><description><![CDATA[<p>Oh prima. Ein neuer Thread über throw-specifier. Wollen wir jetzt wieder so richtig loslegen oder verweisen wir einfach auf die vielen anderen Threads verweisen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Tntnet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250429</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Thu, 22 Mar 2007 12:16:41 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Thu, 22 Mar 2007 16:53:50 GMT]]></title><description><![CDATA[<p>Nein, wir verweisen lieber auf bestehende Thrads <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13624">@Simon2</a>: ich dachte eigentlich du müsstest wohl einer sein, da du das Thema aufgegriffen hast. Was aber natürlich nur meine (freie) Interpretation deiner Worte war... egal, ich will das Thema sowieso nicht diskutieren wenns nicht sein muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>p.S.: was ich gegen sie habe? Sie haben nicht Recht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250659</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 22 Mar 2007 16:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Thu, 22 Mar 2007 17:01:29 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Nein, wir verweisen lieber auf bestehende Thrads <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13624">@Simon2</a>: ich dachte eigentlich du müsstest wohl einer sein, da du das Thema aufgegriffen hast. Was aber natürlich nur meine (freie) Interpretation deiner Worte war... egal, ich will das Thema sowieso nicht diskutieren wenns nicht sein muss <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>p.S.: was ich gegen sie habe? Sie haben nicht Recht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Neee, ich halte es mit Herb Sutter und verzichte komplett auf sie.<br />
(alledings nicht, weil ich prinzipiell etwas gegen die Idee hätte, sondern weil sie in C++ derzeit mehr Probleme als Lösungen schaffen).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250666</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 22 Mar 2007 17:01:29 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Fri, 23 Mar 2007 02:38:40 GMT]]></title><description><![CDATA[<blockquote>
<p>(alledings nicht, weil ich prinzipiell etwas gegen die Idee hätte, sondern weil sie in C++ derzeit mehr Probleme als Lösungen schaffen).</p>
</blockquote>
<p>In Java (wo die Semantik eine etwas andere ist) im Übrigen auch. Uaaaah, ich habe das böse Wort gesagt *duck-und-weg*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250901</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 23 Mar 2007 02:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Fri, 23 Mar 2007 08:32:05 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>(alledings nicht, weil ich prinzipiell etwas gegen die Idee hätte, sondern weil sie in C++ derzeit mehr Probleme als Lösungen schaffen).</p>
</blockquote>
<p>In Java (wo die Semantik eine etwas andere ist) im Übrigen auch. Uaaaah, ich habe das böse Wort gesagt *duck-und-weg*.</p>
</blockquote>
<p>Vielleicht sollten wir das woanders diskutieren (&quot;per mail&quot; finde ich gerade nicht), aber es würde mich wirklich (und nicht, weil ich Munition für irgendeine Einstellung von mir bräuchte) interessieren, wo Du die Probleme siehst (weil sie mir offensichtlich verborgen sind - aber da meine Javaerfahrung begrenzt ist, kenn eich halt nur die Probleme, die C++ mit seiner Version hat).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250957</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 23 Mar 2007 08:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Fri, 23 Mar 2007 10:27:53 GMT]]></title><description><![CDATA[<p>Naja, du musst die Ausnahmen entweder fangen (auch wenn du sie nicht behandeln kannst) oder in deine Signatur packen (auch wenn sie lediglich ein Implementationsdetail sind).</p>
<p>Darüber hinaus musst du voraussehen welche Ausnahmen in Zukunft auftreten könnten (u.a. auch von Objekten die du gar nicht kennst oder kennen willst). Wenn du dabei auf Nummer sicher gehen willst und schlicht <code>throws Exception</code> schreibst, hast du im Prinzip lediglich die no-throw-Garantie aufgehoben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251028</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 23 Mar 2007 10:27:53 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Fri, 23 Mar 2007 11:11:40 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Naja, du musst die Ausnahmen entweder fangen (auch wenn du sie nicht behandeln kannst) oder in deine Signatur packen (auch wenn sie lediglich ein Implementationsdetail sind).</p>
</blockquote>
<p>Exceptions die du nach außen wirfst sind ja wohl wahrlich kein Implementierungsdetail, sondern etwas, was den Aufrufer etwas angeht, was er wissen <strong>muss</strong>. Also ist nichts logischer als diese Information zum Teil der Schnittstelle zu machen. Sorry aber die Idee, dass es sich dabei nur um ein Implementierungsdetail handeln könnte ist völlig absurd. Die Leute flippen alle aus, wenn nicht dokumentiert ist was für Exceptions eine Funktion werfen könnte, ich würde sowas nicht als Implementierungsdetail bezeichnen.</p>
<blockquote>
<p>Darüber hinaus musst du voraussehen welche Ausnahmen in Zukunft auftreten könnten (u.a. auch von Objekten die du gar nicht kennst oder kennen willst).</p>
</blockquote>
<p>Das führe mal bitte genauer aus.</p>
<blockquote>
<p>Wenn du dabei auf Nummer sicher gehen willst und schlicht <code>throws Exception</code> schreibst, hast du im Prinzip lediglich die no-throw-Garantie aufgehoben.</p>
</blockquote>
<p>&quot;Nummer sicher&quot;, ahja. Ich weiß nicht, jeder, mit dem ich darüber bisher gesprochen habe und der die checked Exceptions nicht mochte, hat sie nicht kapiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251046</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 23 Mar 2007 11:11:40 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 27 Mar 2007 13:41:47 GMT]]></title><description><![CDATA[<blockquote>
<p>Leider nicht !<br />
Lt. Standard wird erst zur Laufzeit geprüft (wenn überhaupt), ob eine unerwartete Exception geworfen wird. In dem Fall wird unexpected() aufgerufen, die wiederum üblicherweise terminate() aufruft, das üblicherweise einen abort() durchführt .... sprich: Es hilft gar nichts !</p>
</blockquote>
<p>Hab absichtlich nicht geschrieben, dass es im Standard steht, sondern wie es sein sollte.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Wobei wenn ich mich recht entsinne, es durchaus Compiler gibt, die sowas auswerten (lang lang ist es her seit ich was mit dem gcc gemacht habe).</p>
<p>Mag sein, das nicht alle Entwickler dieses Feature bei einem C++-Compiler benötigen. Gibt auch Leute die Klassen als überflüssigen Balast empfinden.</p>
<p>Gerade bei Fremdbibliotheken kann es jedoch ziemlich lästig sein, wenn irgendwo tief unten in nicht sehr leserlichem Binär-Code eine Exception geworfen wird, die man an der Stelle nicht erwartet, deren Typ man nicht kennt und sich das Programm beim Kunden sang und klanglos am besten direkt beendet.<br />
Da wäre ein Compiler, dem es nicht egal ist was wo von wem geworfen wird schon eine ziemliche Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253867</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Tue, 27 Mar 2007 13:41:47 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 27 Mar 2007 14:12:20 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Naja, du musst die Ausnahmen entweder fangen (auch wenn du sie nicht behandeln kannst) oder in deine Signatur packen (auch wenn sie lediglich ein Implementationsdetail sind).</p>
<p>Darüber hinaus musst du voraussehen welche Ausnahmen in Zukunft auftreten könnten (u.a. auch von Objekten die du gar nicht kennst oder kennen willst). Wenn du dabei auf Nummer sicher gehen willst und schlicht <code>throws Exception</code> schreibst, hast du im Prinzip lediglich die no-throw-Garantie aufgehoben.</p>
</blockquote>
<p>Das muß man doch alles sowieso wissen und dokumentieren !<br />
Also warum nicht per Sprachkonstrukt und vom Compiler geprüft ?<br />
Ist es Dir Lieber, dass Dir Deine Kunden das Gemächt langziehen, weil Du undokumentierte exceptions schmeisst ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253894</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 27 Mar 2007 14:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to Try + Catch(...) : Wie rausbekommen was für eine Exception ? on Tue, 27 Mar 2007 14:30:30 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<blockquote>
<p>Leider nicht !<br />
Lt. Standard wird erst zur Laufzeit geprüft (wenn überhaupt), ob eine unerwartete Exception geworfen wird. In dem Fall wird unexpected() aufgerufen, die wiederum üblicherweise terminate() aufruft, das üblicherweise einen abort() durchführt .... sprich: Es hilft gar nichts !</p>
</blockquote>
<p>Hab absichtlich nicht geschrieben, dass es im Standard steht, sondern wie es sein sollte. ...</p>
</blockquote>
<p>Falls das nicht ironisch gemeint war: Dann kennzeichne das bitte zukünftig !</p>
<p>Mathias schrieb:</p>
<blockquote>
<p>...<br />
Wobei wenn ich mich recht entsinne, es durchaus Compiler gibt, die sowas auswerten (lang lang ist es her seit ich was mit dem gcc gemacht habe). ..</p>
</blockquote>
<p>Glaube ich nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Allein schon durch die Tatsache, dass &quot;keine throws()-spec&quot; interpretiert wird als &quot;throws(*)&quot;, macht eine derartige Prüfung zur Compilezeit unmöglich - höchstens ganz banale Fälle kann man damit abfangen - und dafür macht sich bestimmt keiner die Mühe. Wenn ich aber in der Implementation meiner &quot;throw-spec-freien&quot; Funktion (die Du benutzt) in einer späteren Version eine neue exception werfe, darf ich das und Dein Compiler bekommt das Teil nicht mehr zu Gesicht =&gt; Kein Test zur Compilezeit mehr möglich.</p>
<p>Was schon erlaubt ist (und evtl. gemacht wird), ist das Abweisen von geerbten Funktionen mit abweichenden throw()-specs (innerhalb derselben Übersetzungseinheit). Sprich: Da, wo die throw-spec als Bestandteil des &quot;Typs&quot; interpretiert werden kann (obwohl es offiziell nicht erlaubt ist -&gt; ISO Kap15.4.12).</p>
<p>Aber es steht explizit drin, dass ein Compiler Folgendes NICHT abweisen darf (ISO 15.4.10):</p>
<pre><code class="language-cpp">extern void f() throw(X, Y);

void g() throw(X) {   f(); }
</code></pre>
<p>Da wird es schon eng für Compilerhersteller .... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1253907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1253907</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 27 Mar 2007 14:30:30 GMT</pubDate></item></channel></rss>