<?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[Frage zur Blocküberwachung]]></title><description><![CDATA[<p>Hallo Leute!<br />
Ich habe mal ein Frägelchen zur Blocküberwachung.</p>
<p>Folgender Fall:<br />
Ich habe eine Funktion, die eine Exception auslöst, deren Typ ich nicht wirklich kenne.<br />
Darum verwende ich catch(...) um sie auch wirklich abzufangen.</p>
<p>Problem:<br />
Wie komme ich an den ge&quot;throw&quot;ten Wert?</p>
<p>Snippet:</p>
<pre><code class="language-cpp">...
try
{
    foo(); //wirft mit Exceptions um sich
}
catch(...)
{
    //Hier will ich irgendwie doch noch an die Exception ran
}
...
</code></pre>
<p>Geht das überhaupt oder muss ich das ganz anders machen?</p>
<p>Danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219079/frage-zur-blocküberwachung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 12:28:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219079.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jul 2008 15:38:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 15:38:43 GMT]]></title><description><![CDATA[<p>Hallo Leute!<br />
Ich habe mal ein Frägelchen zur Blocküberwachung.</p>
<p>Folgender Fall:<br />
Ich habe eine Funktion, die eine Exception auslöst, deren Typ ich nicht wirklich kenne.<br />
Darum verwende ich catch(...) um sie auch wirklich abzufangen.</p>
<p>Problem:<br />
Wie komme ich an den ge&quot;throw&quot;ten Wert?</p>
<p>Snippet:</p>
<pre><code class="language-cpp">...
try
{
    foo(); //wirft mit Exceptions um sich
}
catch(...)
{
    //Hier will ich irgendwie doch noch an die Exception ran
}
...
</code></pre>
<p>Geht das überhaupt oder muss ich das ganz anders machen?</p>
<p>Danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555766</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Tue, 29 Jul 2008 15:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 15:43:57 GMT]]></title><description><![CDATA[<p>Wenn Deine Exceptions die gleiche Basisklasse haben, dann kannst Du einfach Basisklasse fangen.</p>
<p>z.B. wenn alle von std::exception abgeleitet sind</p>
<pre><code class="language-cpp">try
{
    // irgendwas
} catch(std::exception&amp; e)
{
    // Egal welche Deiner Exceptions
} catch(...)
{
    // hier kommst Du AFAIK nicht an die Exception ran
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1555770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555770</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Tue, 29 Jul 2008 15:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 15:52:52 GMT]]></title><description><![CDATA[<p><a href="http://www.henkessoft.de/C++/C++%20Fortgeschrittene/C++_Fortgeschrittene.htm#2.10._exceptions" rel="nofollow">http://www.henkessoft.de/C++/C++ Fortgeschrittene/C++_Fortgeschrittene.htm#2.10._exceptions</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555775</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Tue, 29 Jul 2008 15:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 16:11:56 GMT]]></title><description><![CDATA[<p>Airdamn schrieb:</p>
<blockquote>
<p>Wenn Deine Exceptions die gleiche Basisklasse haben, dann kannst Du einfach Basisklasse fangen.</p>
<p>z.B. wenn alle von std::exception abgeleitet sind</p>
</blockquote>
<p>Und wenn das eben mal nicht zutrifft? Wenn ich beispielsweise eine fremde API verwende, in der der Programmierer eine eigene (für mich unbekannte) Exception-Klasse entworfen hat?</p>
<p>Ich würde hier eigentlich versuchen soviele Daten wie möglich zu sammeln.<br />
Zum Beispiel den Typ des ge&quot;throw&quot;ten Wertes ausgeben (RTTI).</p>
<p>Aber letztendlich wird dieser Fall sowieso nicht auftreten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555788</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Tue, 29 Jul 2008 16:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 16:58:38 GMT]]></title><description><![CDATA[<p>Blaze schrieb:</p>
<blockquote>
<p>Und wenn das eben mal nicht zutrifft? Wenn ich beispielsweise eine fremde API verwende, in der der Programmierer eine eigene (für mich unbekannte) Exception-Klasse entworfen hat?</p>
</blockquote>
<p>Dann kannst du die spezielle exception auch nicht fangen und somit nichts genaues über sie rausbekommen. Also lies die Doku zu dieser API und schau ob du den Typ der Exception findest. Wenn nicht, lass die Finger von dieser API.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555811</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 29 Jul 2008 16:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Tue, 29 Jul 2008 23:06:28 GMT]]></title><description><![CDATA[<p><code>catch(...)</code> ist eigentlich auch nicht nötig, wenn man weiss, welche Exceptiontypen geworfen werden können. Es eignet sich jedoch hervorragend zum Ignorieren von Exceptions... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556026</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 29 Jul 2008 23:06:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Blocküberwachung on Wed, 30 Jul 2008 06:50:53 GMT]]></title><description><![CDATA[<p>[quote=&quot;Blaze&quot;]</p>
<p>Airdamn schrieb:</p>
<blockquote>
<p>Wenn ich beispielsweise eine fremde API verwende, in der der Programmierer eine eigene (für mich unbekannte) Exception-Klasse entworfen hat?</p>
</blockquote>
<p>Wenn er nicht dokumentiert was er wirft solltest du ihm eine bitterböse Mail schicken oder es einfach gleich sein lassen. Zu dokumentieren wo welche Exceptions fliegen können ist das mindeste was er bei seiner API an Dokumentation mitliefern sollte. Tut er das nicht, lass wie oben schon gesagt wurde die Finger davon, dann ist es vermutlich sicherer und mit weniger Ärger und Risiko verbunden wenn du dir die Funktionalität gleich selber programmierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1556082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1556082</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 30 Jul 2008 06:50:53 GMT</pubDate></item></channel></rss>