<?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[Programm sauber beenden]]></title><description><![CDATA[<p>Gibt's hier eine Möglichkeit, den Prozess sauber zu beenden?</p>
<pre><code class="language-cpp">namespace {
int init() {
    if ( ... )
        exit( 1 );  //&lt;-Unsauber!?
}

int Init = init();
}

int main() {
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/287066/programm-sauber-beenden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 15:31:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287066.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 May 2011 16:02:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:02:09 GMT]]></title><description><![CDATA[<p>Gibt's hier eine Möglichkeit, den Prozess sauber zu beenden?</p>
<pre><code class="language-cpp">namespace {
int init() {
    if ( ... )
        exit( 1 );  //&lt;-Unsauber!?
}

int Init = init();
}

int main() {
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2066802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066802</guid><dc:creator><![CDATA[Graham]]></dc:creator><pubDate>Sat, 21 May 2011 16:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:08:19 GMT]]></title><description><![CDATA[<p>Exceptions sind der übliche Weg solche Sachen handzuhaben.</p>
<p>exit ist böse, weil es das Programm sofort beendet und du keine Chance mehr hast irgendwelche Sachen freizugeben (Destruktoren werden z.B nicht aufgerufen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066804</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 21 May 2011 16:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:10:08 GMT]]></title><description><![CDATA[<p>Aber exceptions dürften hier doch auch nicht funktionieren, oder? Oder werden die von dem drunterliegenden CRT-Framework gefangen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066805</guid><dc:creator><![CDATA[Graham]]></dc:creator><pubDate>Sat, 21 May 2011 16:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:11:12 GMT]]></title><description><![CDATA[<p>Die Frage ist ja, ob die Exception überhaupt gefangen werden kann, da der Aufruf nicht in einem try-catch block gepackt werden kann. Es handelt sich ja um eine globale Variabel/Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066808</guid><dc:creator><![CDATA[ghjgh]]></dc:creator><pubDate>Sat, 21 May 2011 16:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:18:41 GMT]]></title><description><![CDATA[<p>Mich würde noch die Bedingung der <code>if</code> interessieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066813</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 21 May 2011 16:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:20:07 GMT]]></title><description><![CDATA[<p>Exception werfen und spätestens in main() fangen und das Programm sauber zu Ende laufen lassen. Natürlich den kompletten Code exceptionsicher schreiben. exit() ist unsauber, da werden keine Destruktoren aufgerufen und die Ressourcen nicht korrekt freigegeben. Das Aufräumen wird dem betriebssystem überlassen und das ist nicht immer das, was man will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066814</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 21 May 2011 16:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:20:27 GMT]]></title><description><![CDATA[<p>Graham schrieb:</p>
<blockquote>
<p>Aber exceptions dürften hier doch auch nicht funktionieren, oder? Oder werden die von dem drunterliegenden CRT-Framework gefangen?</p>
</blockquote>
<p>3.6.2§4 sagt, dass <code>terminate()</code> aufgerufen wird, wenn während der Konstruktion oder Destruktion eines nichtlokalen Objektes eine Exception geworfen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066815</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sat, 21 May 2011 16:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:30:26 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Exception werfen und spätestens in main() fangen</p>
</blockquote>
<p>Zum Zeitpunkt des <code>throw</code> hat die <code>main()</code> noch nicht einmal begonnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066821</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 21 May 2011 16:30:26 GMT</pubDate></item><item><title><![CDATA[Reply to Programm sauber beenden on Sat, 21 May 2011 16:28:39 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>3.6.2§4 sagt, dass <code>terminate()</code> aufgerufen wird, wenn während der Konstruktion oder Destruktion eines nichtlokalen Objektes eine Exception geworfen wird.</p>
</blockquote>
<p>Ok, sowas hatte ich mir schon gedacht. Dann gibt es einfach keine gute Möglichkeit.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: Es handelt sich ja um eine Variable auf Datei-Ebene, der &quot;exit&quot;-Code wird noch vor dem Eintritt in die main aufgerufen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/25179">@EOutOfResources</a>: Ich versuche grad, ein Crashdump-System aufzubauen. Unter Linux dump't man mit dem Programm &quot;gcore&quot;; dafür muss der dumpende Prozess aber Vater des zu dumpenden Prozesses sein. Also würde ich gerne in meiner Dump-Library so einen &quot;File-Initializer&quot; nutzen um den Prozess zu forken, so dass das Kind weiterläuft und der Vater dann bei Bedarf das Kind dumpen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2066822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2066822</guid><dc:creator><![CDATA[Graham]]></dc:creator><pubDate>Sat, 21 May 2011 16:28:39 GMT</pubDate></item></channel></rss>