<?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[Warning C4290: C++ Exception Specification ignored]]></title><description><![CDATA[<pre><code class="language-cpp">// Warum bekomme ich zwei mal diesen Fehler?
// warning C4290: C++ Exception Specification ignored

class aa {
public:
	aa::aa() throw(int); // &lt;- Hier
};

aa::aa() throw(int) { // &lt;- Und hier
	throw 1;
}

int main(void) {
	aa obj;

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/190845/warning-c4290-c-exception-specification-ignored</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 19:04:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190845.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Aug 2007 16:04:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 16:04:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Warum bekomme ich zwei mal diesen Fehler?
// warning C4290: C++ Exception Specification ignored

class aa {
public:
	aa::aa() throw(int); // &lt;- Hier
};

aa::aa() throw(int) { // &lt;- Und hier
	throw 1;
}

int main(void) {
	aa obj;

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1353157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353157</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Mon, 27 Aug 2007 16:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 16:22:43 GMT]]></title><description><![CDATA[<p>du hast da ein aa:: zuviel, so sähe es richtig aus:</p>
<pre><code class="language-cpp">class aa {
public:
    aa() throw(int); // &lt;- Hier
};

aa::aa() throw(int) { // &lt;- Und hier
    throw 1;
}
</code></pre>
<p>ansonsten sollte das so funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353166</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Mon, 27 Aug 2007 16:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 16:25:54 GMT]]></title><description><![CDATA[<p>Was willst du uns jetzt mit deinem Posting mitteilen? Das wissen wir doch selber. Und warum schaust du nicht in die MSDN, wo jeder ERROR und WARNING gut beschrieben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353167</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 27 Aug 2007 16:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 16:47:01 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@artchi</a> er hat gefragt, warum er diese fehlermeldung bekommt...<br />
ist aber gut zu wissen, dass msvc keine exception spezifikationen für int kennt.</p>
<p>nur für alle, die nicht suchen wollen:<br />
<a href="http://msdn2.microsoft.com/en-us/library/sa28fef8.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/sa28fef8.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353173</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Mon, 27 Aug 2007 16:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 16:49:55 GMT]]></title><description><![CDATA[<p>Die Warnung also disabeln. Vielen Dank ghorst. <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="🙂"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>: Du solltest Dich vielleicht etwas beruhigen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353175</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Mon, 27 Aug 2007 16:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Mon, 27 Aug 2007 18:41:43 GMT]]></title><description><![CDATA[<p>@martin_salo:<br />
wieso bist du eigentlich immer noch &quot;unregistriert&quot;??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353254</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Mon, 27 Aug 2007 18:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Tue, 28 Aug 2007 00:16:25 GMT]]></title><description><![CDATA[<p>martin_salo schrieb:</p>
<blockquote>
<p>Die Warnung also disabeln. Vielen Dank ghorst. <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="🙂"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>: Du solltest Dich vielleicht etwas beruhigen...</p>
</blockquote>
<p>NEIN!<br />
<strong>Keine Exception Specs verwenden</strong> wenn der Compiler sie nicht unterstützt, und MSVC unterstützt sie eben nicht. Genau das will dir der Compiler damit (mit der Warning) mitteilen.</p>
<p>Exception Specs zu verwenden auf einem Compiler der sie nicht unterstützt fürht zu anderem Verhalten (!) als WENN der Compiler sie unterstützt, da Exceptions deren Typ nicht angegeben ist im ersten Fall einfach trotzdem &quot;weiterfliegen&quot; anstatt dass wie spezifiziert &quot;unexpected()&quot; aufgerufen wird. Und das ist BÖSE.</p>
<p>Die einzige Exception Spec die du unter MSVC verwenden kannst ist &quot;throw()&quot;, also &quot;wirft nixe&quot;. Das kann man ruhig tun, zu Dokumentationszwecken. Ansonsten rate ich dir die Finger davon zu lassen, du handelst dir damit nur Ärger ein.</p>
<p>Oder anders gesagt: wozu willst du bitte Exception Specs verwenden wenn der Compiler sie nicht unterstützt? Das ist genausogut wie wenn du nichts hinschreibst, oder es als Kommentar dazuschreibst. Letzteres (Kommentar) ist sogar besser, da dann wenigstens jeder Programmierer weiss dass er sich nicht darauf verlassen kann/darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353424</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 28 Aug 2007 00:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Tue, 28 Aug 2007 00:28:18 GMT]]></title><description><![CDATA[<p>Unabhängig vom Compiler: Exception Specifications sind böse. Sie sollten theoretisch etwas ähnliches wie Checked Exceptions in Java sein - da aber alles sowieso zur Runtime ausgewertet wird und im Prinzip eine falsche Exception im Endeffekt ein terminate() produziert, bringt es nicht viel. Es macht den Code aber aufgeblähter ohen mehr Sicherheit zu bringen. Es ist viel effektiver catch(...) Blöcke zu haben wenn man Angst vor einer falschen Exception hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353427</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 28 Aug 2007 00:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to Warning C4290: C++ Exception Specification ignored on Tue, 28 Aug 2007 06:44:53 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>da aber alles sowieso zur Runtime ausgewertet wird und im Prinzip eine falsche Exception im Endeffekt ein terminate() produziert, bringt es nicht viel.</p>
</blockquote>
<p>es führt auf compiler, die damit klar kommen, nicht zwangsläufig zu einem terminate. es wird eine bad_execption geworfen. allerdings sollte man, wenn so etwas fängt, das programm mit einer angemessenen fehlermeldung beenden, da man keine ahnung hat, was da passiert ist und folglich auch nicht weiß, wie man darauf reagieren sollte. selbiges gilt übrigens auch catch(...). das sollte man am besten weiterwerfen, nachdem man aufgeräumt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353468</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Tue, 28 Aug 2007 06:44:53 GMT</pubDate></item></channel></rss>