<?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[Exceptions im Konstuktor]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hab nur eine kurze Frage:<br />
Kann ich in Konstruktoren Exceptions werfen ohne Datenmüll<br />
oder andere Seiteneffekte zu erhalten?</p>
<p>Gruß,<br />
CSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129472/exceptions-im-konstuktor</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 06:06:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129472.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Dec 2005 22:41:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Exceptions im Konstuktor on Tue, 13 Dec 2005 22:41:25 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hab nur eine kurze Frage:<br />
Kann ich in Konstruktoren Exceptions werfen ohne Datenmüll<br />
oder andere Seiteneffekte zu erhalten?</p>
<p>Gruß,<br />
CSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941532</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 13 Dec 2005 22:41:25 GMT</pubDate></item><item><title><![CDATA[Reply to Exceptions im Konstuktor on Tue, 13 Dec 2005 22:58:01 GMT]]></title><description><![CDATA[<p>wenn der konstruktor was taugt, ist das gar kein problem.<br />
schlecht:</p>
<pre><code class="language-cpp">Foo:Foo(){
   data=new char[10];
   if(...) throw 17;
   data[0]=0;
}
</code></pre>
<p>über ne gute lösung kannste 10 forenmitglieder fragen und kriegst 12 meinungen. die meisten werden smart-pointers vorschlagen. besonders pfiffige werden sagen, daß eine klasse nur einen zweck erfüllen sollte und täten deine das, wäre das problem weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941542</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 13 Dec 2005 22:58:01 GMT</pubDate></item><item><title><![CDATA[Reply to Exceptions im Konstuktor on Tue, 13 Dec 2005 23:10:43 GMT]]></title><description><![CDATA[<p>Regel: Nur in Dtoren und Exception-Unsicheren Code sollte man keine Exceptions werfen. Letzteres zu entdecken ist die schwierigere Aufgabe <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a><br />
::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941548</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Tue, 13 Dec 2005 23:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Exceptions im Konstuktor on Tue, 13 Dec 2005 23:11:26 GMT]]></title><description><![CDATA[<p>Man sollte hinzufügen: Falls beim Aufruf von new Foo() der Konstruktor eine Exception wirft, wird das Objekt automatisch deallokiert. Andernfalls wäre es fatal, weil man kaum eine Chance hat, einen Zeiger darauf zu bekommen um es von Hand zu deallokieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941549</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 13 Dec 2005 23:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to Exceptions im Konstuktor on Wed, 14 Dec 2005 01:40:46 GMT]]></title><description><![CDATA[<p>Hallo kingruedi,</p>
<p>Was ist denn Exception-Unsicherer Code?</p>
<p>Wann wird denn Code exception-unsicher?<br />
Nenn mir mal bitte ein Beispiel.</p>
<p>Quarz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941563</guid><dc:creator><![CDATA[Quarz]]></dc:creator><pubDate>Wed, 14 Dec 2005 01:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to Exceptions im Konstuktor on Wed, 14 Dec 2005 08:20:05 GMT]]></title><description><![CDATA[<p>Member eines Objektes, die schon erzeugt wurden, bevor die Exception ausgelöst wurde, werden selbstverständlich auch wieder zerstört (Destruktoraufruf). Wobei der Destruktor der Klasse selbst nicht gerufen wird. (Sollte man für ein Objekt, dessen Konstruktion fehlgeschlagen ist, den Destruktor aufrufen? :xmas2: ) Reserviert man neuen Speicher, sollte natürlich immer eine Institution da sein, die sich dem Besitz des Speichers annimmt (z.B. Smartpointer).</p>
<p>@Quarz: Lies doch mal das hier:</p>
<p><a href="http://www.gotw.ca/gotw/059.htm" rel="nofollow">http://www.gotw.ca/gotw/059.htm</a><br />
<a href="http://www.gotw.ca/gotw/060.htm" rel="nofollow">http://www.gotw.ca/gotw/060.htm</a><br />
<a href="http://www.gotw.ca/gotw/008.htm" rel="nofollow">http://www.gotw.ca/gotw/008.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/941621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941621</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Wed, 14 Dec 2005 08:20:05 GMT</pubDate></item></channel></rss>