<?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[Exception weiterwerfen -&amp;gt; Stack weg!]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mache in meiner dreischichtigen Anwendung folgendes:</p>
<p>- unterste Schicht wirft Exception (sehr spezielle Infos)<br />
- mittlere Schicht packt diese in eine allgemeinere Exception<br />
- wirft sie weiter an die Anwendung<br />
- Anwendung behandelt die Exception</p>
<p>Das habe ich bei den Java-Leuten gesehen und fand es ganz gut.<br />
Man kann immer weiter in die umhüllte Exception reinsteigen um mehr<br />
Details zu erfahren. (z.B. &quot;Senden ging nicht&quot; -&gt; &quot;Protokollfehler&quot;)</p>
<p>Blöderweise ist nach dem Weiterwerfen einer Exception (d.h. catch<br />
löst ein throw an die höhere Schicht aus) der Stack im Eimer. Warum???<br />
Bei einfachem throw-catch ist er doch auch OK.</p>
<p>Das könnte beim Debuggen stören. Was haltet Ihr generell von dem<br />
Weiterwerfen?</p>
<p>Danke,<br />
Stimpy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175264/exception-weiterwerfen-gt-stack-weg</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 03:06:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175264.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Mar 2007 16:44:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Exception weiterwerfen -&amp;gt; Stack weg! on Thu, 08 Mar 2007 16:44:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich mache in meiner dreischichtigen Anwendung folgendes:</p>
<p>- unterste Schicht wirft Exception (sehr spezielle Infos)<br />
- mittlere Schicht packt diese in eine allgemeinere Exception<br />
- wirft sie weiter an die Anwendung<br />
- Anwendung behandelt die Exception</p>
<p>Das habe ich bei den Java-Leuten gesehen und fand es ganz gut.<br />
Man kann immer weiter in die umhüllte Exception reinsteigen um mehr<br />
Details zu erfahren. (z.B. &quot;Senden ging nicht&quot; -&gt; &quot;Protokollfehler&quot;)</p>
<p>Blöderweise ist nach dem Weiterwerfen einer Exception (d.h. catch<br />
löst ein throw an die höhere Schicht aus) der Stack im Eimer. Warum???<br />
Bei einfachem throw-catch ist er doch auch OK.</p>
<p>Das könnte beim Debuggen stören. Was haltet Ihr generell von dem<br />
Weiterwerfen?</p>
<p>Danke,<br />
Stimpy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241778</guid><dc:creator><![CDATA[stimpleton]]></dc:creator><pubDate>Thu, 08 Mar 2007 16:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to Exception weiterwerfen -&amp;gt; Stack weg! on Thu, 08 Mar 2007 18:57:30 GMT]]></title><description><![CDATA[<p>stimpleton schrieb:</p>
<blockquote>
<p>Blöderweise ist nach dem Weiterwerfen einer Exception (d.h. catch<br />
löst ein throw an die höhere Schicht aus) der Stack im Eimer.</p>
</blockquote>
<p>Bei welchem Compiler/mit welchem Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241879</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Thu, 08 Mar 2007 18:57:30 GMT</pubDate></item><item><title><![CDATA[Reply to Exception weiterwerfen -&amp;gt; Stack weg! on Fri, 09 Mar 2007 06:56:18 GMT]]></title><description><![CDATA[<p>Mittelschicht (mittelschichts_funktion()):</p>
<pre><code class="language-cpp">try
{
   unterschichts_funktion(); 
}
catch( UnterschichtsException &amp;e )
{
   throw MittelschichtException( e );
}
</code></pre>
<p>Oberschicht:</p>
<pre><code class="language-cpp">try 
{
   mittelschichts_funktion();
}
catch( MittelschichtException &amp;e  )
{
   printf( &quot;Hossa!&quot; );
}
</code></pre>
<p>...ich hoffe mal, mir ist beim Vereinfachen kein Fehler unterlaufen.<br />
Bei der Ausgabe von &quot;Hossa&quot; kann ich den Call Stack nicht mehr zurückverfolgen.<br />
Das ganze mache ich mit Visual Studio .NET 2003.</p>
<p>Gruß,<br />
Stimpy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1242071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242071</guid><dc:creator><![CDATA[stimpleton]]></dc:creator><pubDate>Fri, 09 Mar 2007 06:56:18 GMT</pubDate></item><item><title><![CDATA[Reply to Exception weiterwerfen -&amp;gt; Stack weg! on Fri, 09 Mar 2007 13:26:48 GMT]]></title><description><![CDATA[<p>Natürlich kannst du den Callstack nichtmehr zurückverfolgen, der ist bereits weg in dem Moment wo &quot;catch passiert&quot;. Das heisst aber nicht dass irgendetwas &quot;faul&quot; wäre.<br />
Du musst den Debugger einfach nur umstellen, dass er bereits beim &quot;throw&quot; unterbricht -- im MSVC geht das sehr schön, da kannste eigene Typen eintragen, und für jeden Typ angeben ob er bei &quot;throw&quot; unterbrechen soll.<br />
Standardmässig unterbricht er halt nur wenn das Teil keiner fängt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1242294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242294</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 09 Mar 2007 13:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to Exception weiterwerfen -&amp;gt; Stack weg! on Fri, 09 Mar 2007 13:36:23 GMT]]></title><description><![CDATA[<p>Danke!</p>
<p>Das ist mir neu, daß man auch beim throw unterbrechen lassen kann.<br />
Damit kann man doch wieder brauchbar debuggen und meine Lösung verursacht<br />
keine zusätzlichen Probleme. Klingt gut...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1242302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242302</guid><dc:creator><![CDATA[stimpleton]]></dc:creator><pubDate>Fri, 09 Mar 2007 13:36:23 GMT</pubDate></item></channel></rss>