<?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[&amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf]]></title><description><![CDATA[<p>N'Abend zusammen,<br />
zunächst mal Entschuldigung für den etwas schwammigen Titel, im Notfall kann ihn ja ein Moderator anpassen <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>Jetzt aber zum eigentlichen Problem:<br />
Ich hab folgendes try...catch Gerüst:</p>
<pre><code class="language-cpp">try {
    eSensor::PassEdge(ww,time,a,r);
}
catch( eSensorFinished &amp; e ) {
</code></pre>
<p>Und dann hier eSensor::PassEdge (gekürzt):</p>
<pre><code class="language-cpp">void eSensor::PassEdge(const eWall *w,REAL time,REAL a,int){
    if (!w-&gt;Massive()){
        return;
    }

    // extrapolate the hit time
    REAL hitTime = owned-&gt;LastTime() + time * inverseSpeed_;

    if (owned &amp;&amp; !owned-&gt;EdgeIsDangerous(w, hitTime, a))
        return;

    ....

    throw eSensorFinished();
}
</code></pre>
<p>Der Code compilet wunderbar (unter win8 mit MinGW 4.4.1), crasht aber an dem &quot;throw&quot; und der Debugger sagt mir folgendes:</p>
<pre><code>#0 006AE6A4	__cxa_throw () (??:??)
#1 004AFC84	eSensor::PassEdge(this=0x28d9b4, w=0x52c5778, time=2.75361633, a=0.17098549) (C:\Users\Niklas\Desktop\tron\0.4-random-features\src\engine\eSensor.cpp:88)
</code></pre>
<p>Ich hab natürlich sofort nachgeschaut, ob ich nicht aus versehen -fexcetions vergessen hatte, was aber nicht der Fall war. Hier die kompletten command-line-arguments:</p>
<pre><code>mingw32-g++.exe -fexceptions -DWIN32 -D_WINDOWS -D_MBCS -DNO_SOCKLEN_T -DDONTUSEMEMMANAGER  -O2
</code></pre>
<p>Das Problem an sich hat mich schon zum grübeln gebracht, dass eigentlich seltsame daran ist aber, dass es auftrat, nachdem ich Änderungen am Code vorgenommen und eigentlich nichts an den Compiler-Einstellungen verändert habe.</p>
<p>Hoffe ich könnt mir helfen, denn ich selber bin mit meinem Latein am Ende.</p>
<p>Danke im Voraus <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305000/quot-catch-quot-fängt-quot-throw-quot-in-verschachtelter-funktion-nicht-auf</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 19:59:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305000.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Jun 2012 19:29:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Mon, 18 Jun 2012 19:29:20 GMT]]></title><description><![CDATA[<p>N'Abend zusammen,<br />
zunächst mal Entschuldigung für den etwas schwammigen Titel, im Notfall kann ihn ja ein Moderator anpassen <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>Jetzt aber zum eigentlichen Problem:<br />
Ich hab folgendes try...catch Gerüst:</p>
<pre><code class="language-cpp">try {
    eSensor::PassEdge(ww,time,a,r);
}
catch( eSensorFinished &amp; e ) {
</code></pre>
<p>Und dann hier eSensor::PassEdge (gekürzt):</p>
<pre><code class="language-cpp">void eSensor::PassEdge(const eWall *w,REAL time,REAL a,int){
    if (!w-&gt;Massive()){
        return;
    }

    // extrapolate the hit time
    REAL hitTime = owned-&gt;LastTime() + time * inverseSpeed_;

    if (owned &amp;&amp; !owned-&gt;EdgeIsDangerous(w, hitTime, a))
        return;

    ....

    throw eSensorFinished();
}
</code></pre>
<p>Der Code compilet wunderbar (unter win8 mit MinGW 4.4.1), crasht aber an dem &quot;throw&quot; und der Debugger sagt mir folgendes:</p>
<pre><code>#0 006AE6A4	__cxa_throw () (??:??)
#1 004AFC84	eSensor::PassEdge(this=0x28d9b4, w=0x52c5778, time=2.75361633, a=0.17098549) (C:\Users\Niklas\Desktop\tron\0.4-random-features\src\engine\eSensor.cpp:88)
</code></pre>
<p>Ich hab natürlich sofort nachgeschaut, ob ich nicht aus versehen -fexcetions vergessen hatte, was aber nicht der Fall war. Hier die kompletten command-line-arguments:</p>
<pre><code>mingw32-g++.exe -fexceptions -DWIN32 -D_WINDOWS -D_MBCS -DNO_SOCKLEN_T -DDONTUSEMEMMANAGER  -O2
</code></pre>
<p>Das Problem an sich hat mich schon zum grübeln gebracht, dass eigentlich seltsame daran ist aber, dass es auftrat, nachdem ich Änderungen am Code vorgenommen und eigentlich nichts an den Compiler-Einstellungen verändert habe.</p>
<p>Hoffe ich könnt mir helfen, denn ich selber bin mit meinem Latein am Ende.</p>
<p>Danke im Voraus <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2224749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2224749</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Mon, 18 Jun 2012 19:29:20 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Mon, 18 Jun 2012 20:24:21 GMT]]></title><description><![CDATA[<p>Der Vollständigkeit halber wäre die Implementierung von <strong>eSensorFinished</strong> noch wichtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2224780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2224780</guid><dc:creator><![CDATA[nurf]]></dc:creator><pubDate>Mon, 18 Jun 2012 20:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Mon, 18 Jun 2012 20:26:29 GMT]]></title><description><![CDATA[<p>Die hab ich ganz vergessen. Vermutlich weil sie nur so aussieht:</p>
<pre><code class="language-cpp">class eSensorFinished{};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2224781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2224781</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Mon, 18 Jun 2012 20:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 05:27:52 GMT]]></title><description><![CDATA[<p>Ohne kompilierbares Minimalbeispiel und weil mir die Fehlermeldung nichts sagt kann ich nur Vermutung anstellen:</p>
<p>1.) Wird durch einen destruktor (oder konstruktor) nochmal geworfen?<br />
2.) Exception specification verwendet? Wird vielleicht bad_exception geworfen?<br />
3.) Mal catch(...) versucht? Wird es dann korrekt gefangen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2224845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2224845</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Tue, 19 Jun 2012 05:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 09:14:29 GMT]]></title><description><![CDATA[<p>KMT schrieb:</p>
<blockquote>
<p>Ohne kompilierbares Minimalbeispiel und weil mir die Fehlermeldung nichts sagt kann ich nur Vermutung anstellen</p>
</blockquote>
<p>Da ist KMT nicht alleine - schau mal in meine Signatur, danach Liefer uns bitte entsprechenden Code, an dem man das Problem nachstellen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2224906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2224906</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 19 Jun 2012 09:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 20:44:42 GMT]]></title><description><![CDATA[<p>KMT schrieb:</p>
<blockquote>
<p>Ohne kompilierbares Minimalbeispiel und weil mir die Fehlermeldung nichts sagt kann ich nur Vermutung anstellen:</p>
</blockquote>
<p>Das Problem ist, dass das Programm ein Spiel ist, was heißt du wirst mit 20-60 Zeilen Code (so, wie es in den Forenregeln steht) den Fehler nicht reproduzieren können. Wenn du (oder auch andere) aber den ganzen Sourcecode sehen/selber compilen willst/wollen, so ist er hier zu finden: <a href="https://code.launchpad.net/~ai.tron/armagetronad/0.4-queue+timeleft+scoreboard" rel="nofollow">https://code.launchpad.net/~ai.tron/armagetronad/0.4-queue+timeleft+scoreboard</a></p>
<p>KMT schrieb:</p>
<blockquote>
<p>1.) Wird durch einen destruktor (oder konstruktor) nochmal geworfen?</p>
</blockquote>
<p>Nein</p>
<p>KMT schrieb:</p>
<blockquote>
<p>2.) Exception specification verwendet? Wird vielleicht bad_exception geworfen?</p>
</blockquote>
<p>Nein und Nein</p>
<p>KMT schrieb:</p>
<blockquote>
<p>3.) Mal catch(...) versucht? Wird es dann korrekt gefangen?</p>
</blockquote>
<p>Ändert leider gar nichts, immernoch das selbe Problem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2225194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225194</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 19 Jun 2012 20:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 21:59:15 GMT]]></title><description><![CDATA[<p>kaybee schrieb:</p>
<blockquote>
<p>KMT schrieb:</p>
<blockquote>
<p>Ohne kompilierbares Minimalbeispiel und weil mir die Fehlermeldung nichts sagt kann ich nur Vermutung anstellen:</p>
</blockquote>
<p>Das Problem ist, dass das Programm ein Spiel ist, was heißt du wirst mit 20-60 Zeilen Code (so, wie es in den Forenregeln steht) den Fehler nicht reproduzieren können.</p>
</blockquote>
<p>Super. Dann weißt du doch schon, dass der eigentliche Fehler woanders liegt. Jetzt musst du nur noch rausfinden, wann das Problem weggegangen ist, als du den Code gekürzt hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2225215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225215</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 19 Jun 2012 21:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 22:09:57 GMT]]></title><description><![CDATA[<p>Wenn ich mir mal die catch-Blöcke ansehe, wundert mich das nicht weiter:</p>
<pre><code class="language-cpp">catch( eSensorFinished &amp; e )
{
    if ( DoExtraDetectionStuff() )
        throw;
}
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">catch( eSensorFinished &amp; e )
{
    [...]
    throw;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2225217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225217</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 19 Jun 2012 22:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 22:21:25 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>Wenn ich mir mal die catch-Blöcke ansehe, wundert mich das nicht weiter:<br />
....</p>
</blockquote>
<p>Soweit komm ich aber gar nicht, er stürzt davor schon ab.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>kaybee schrieb:</p>
<blockquote>
<p>KMT schrieb:</p>
<blockquote>
<p>Ohne kompilierbares Minimalbeispiel und weil mir die Fehlermeldung nichts sagt kann ich nur Vermutung anstellen:</p>
</blockquote>
<p>Das Problem ist, dass das Programm ein Spiel ist, was heißt du wirst mit 20-60 Zeilen Code (so, wie es in den Forenregeln steht) den Fehler nicht reproduzieren können.</p>
</blockquote>
<p>Super. Dann weißt du doch schon, dass der eigentliche Fehler woanders liegt. Jetzt musst du nur noch rausfinden, wann das Problem weggegangen ist, als du den Code gekürzt hast.</p>
</blockquote>
<p>Ich hab nur gemeint es würde theoretisch nicht gehen. Klar könnte ich jetzt das ganze auf sowas hier reduzieren:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class eSensorFinished {};

void triggerSensor() {
    throw eSensorFinished();
}

int main()
{
    try {
        triggerSensor();
    }
    catch(eSensorFinished &amp;e) {
        cout &lt;&lt; &quot;caught eSensorFinished&quot; &lt;&lt; &quot;\n&quot;;

    }
}
</code></pre>
<p>Aber wirklich weiterhelfen würde das nicht, da der Code hier wunderbar läuft, während das Spiel aber abschmiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2225219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225219</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 19 Jun 2012 22:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 22:55:27 GMT]]></title><description><![CDATA[<p>kaybee schrieb:</p>
<blockquote>
<p>Soweit komm ich aber gar nicht, er stürzt davor schon ab.</p>
</blockquote>
<p>Wie hast du das festgestellt? Debuggst du etwa mit -O2? Wo ist -g?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2225226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225226</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 19 Jun 2012 22:55:27 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 19 Jun 2012 22:58:01 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>kaybee schrieb:</p>
<blockquote>
<p>Soweit komm ich aber gar nicht, er stürzt davor schon ab.</p>
</blockquote>
<p>Wie hast du das festgestellt? Debuggst du etwa mit -O2? Wo ist -g?</p>
</blockquote>
<p>Oh mein Fehler, ich hab die arguments von der Release Version gepostet <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="🙄"
    /> Debug sieht so aus:</p>
<pre><code>mingw32-g++.exe -fexceptions -DWIN32 -D_CONSOLE -D_MBCS -DEMBEDDED -DDONTUSEMEMMANAGER -DNO_SOCKLEN_T  -g -W -D_DEBUG -DDEBUG
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2225227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225227</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 19 Jun 2012 22:58:01 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Wed, 20 Jun 2012 07:23:50 GMT]]></title><description><![CDATA[<p>Ich hab rausgefunden warum mir die &quot;Fehlermeldung&quot; nix sagt. Das ist einfach nur der stacktrace. Und offensichtlich nichtmal der ganze.</p>
<p>Was heißt denn eigentlich &quot;er stürzt ab&quot;? terminate()? unhandled exception? segfault?</p>
<p>Davon abgesehen hast du glaube ich denn Sinn eines kompilierbaren Minimalbeispiels nicht ganz verstanden. Wenn du uns Code lieferst der funktioniert, dann werden wir da - Überraschung - auch keinen Fehler finden. Betrifft übrigens auch deinen Eröffnungsbeitrag.<br />
Genausowenig haben die Leute hier aber Lust - und vorallem Zeit - sich durch tausende Zeilen code durchzuarbeiten.</p>
<p>Tatsächlich wird es in deinem Projekt ziemlich sicher tausende Zeilen von code geben, die man einfach rausstreichen (bzw auskommentieren) kann, und der Fehler wird immer noch auftreten. In 90% der Fälle findet man dann den Fehler sogar direkt selber.<br />
Schau dir doch einfach mal den call stack an, und kommentier einfach die funktion calls aus, die nicht im call stack bis zum Fehler drinnen sind. Vielleicht hast du Abhängigkeiten zu Ladefunktion - auskommentieren/hardcoden.<br />
Ich glaub dir einfach nicht, dass es nicht gehen soll, weil ich (und nebenbei auch andere hier) sowas eben oft genug gemacht haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2225258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2225258</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Wed, 20 Jun 2012 07:23:50 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Mon, 02 Jul 2012 20:13:05 GMT]]></title><description><![CDATA[<p>Ich hab den Code schon soweit runter kommentiert, dass das Spiel nicht mehr crasht. Und zwar einfach indem ich alle Funktionen die &quot;throw&quot; werfen auskommentiert habe. Insofern weiß ich nicht, wo ich da weitermachen sollen.</p>
<p>Es ist ja auch Fakt, dass bei anderen Leuten der selbe Code nicht crasht und das verwirrt mich doch sehr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229467</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Mon, 02 Jul 2012 20:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 06:38:12 GMT]]></title><description><![CDATA[<p>Bei dem Namen</p>
<pre><code class="language-cpp">eSensorFinished
</code></pre>
<p>für die Exception könnte man glatt denken, Du setzt Exceptions zur Ablaufsteuerung ein, was man aber nicht sollte. Sie sind nicht das geeignete Mittel dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229540</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 03 Jul 2012 06:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 15:00:33 GMT]]></title><description><![CDATA[<p>Das ist mir bewusst, aber es ist wie gesagt nicht mein Code und ich will ihn auch nicht grundlegend verändern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229691</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 03 Jul 2012 15:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 15:17:39 GMT]]></title><description><![CDATA[<p>Rebuild-All gemacht?<br />
Verwenden alle Module den selben Exception-Handling Modus (sjlj vs. Dwarf-2)?<br />
Wirfst du Exceptions über DLL Grenzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229700</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 03 Jul 2012 15:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 16:22:59 GMT]]></title><description><![CDATA[<p>1. Ja, mehrmals<br />
2. Ich benutze MinGW GCC 4.4.1 welches seit Version 3.4 sjlj gar nicht mehr ünterstützt<br />
3. Nein, die throw Funktion(en) und auch alles was davor kommt, passiert nur im Hauptprogramm selber</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229716</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 03 Jul 2012 16:22:59 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 17:56:33 GMT]]></title><description><![CDATA[<p>Vielleicht Funktionsaufrufe über Funktionszeiger oder <code>extern &quot;C&quot;</code> Funktionen? Bzw. schonmal in der MinGW/GCC Doku nachgesehen in welchen Fällen der Compiler davon ausgeht dass nixe geworfen wird?</p>
<p>Bzw. ... funktioniert alles wenn du das &quot;throw&quot; durch z.B. eine globale Variable + if + return &quot;nachstellst&quot;?<br />
Mir drängt sich nämlich schön langsam der Verdacht auf dass du Speicher kaputthaust.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229741</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 03 Jul 2012 17:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;catch&amp;quot; fängt &amp;quot;throw&amp;quot; in verschachtelter funktion nicht auf on Tue, 03 Jul 2012 19:31:14 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Bzw. ... funktioniert alles wenn du das &quot;throw&quot; durch z.B. eine globale Variable + if + return &quot;nachstellst&quot;?<br />
Mir drängt sich nämlich schön langsam der Verdacht auf dass du Speicher kaputthaust.</p>
</blockquote>
<p>Verstehe nicht ganz, was du meinst, vielleicht könntest du es mir etwas genauer erklären <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich hab jetzt mal folgendes probiert:</p>
<pre><code class="language-cpp">void testfunction()
{
    throw eSensorFinished();
}

void gSensor::PassEdge(const eWall *ww,REAL time,REAL a,int r){
    if (!ww)
        return;

    try{
        //eSensor::PassEdge(ww,time,a,r);
        testfunction();
    }
    //catch( eSensorFinished &amp; e )
    catch(...)
    {
    }
</code></pre>
<p>und er bleibt jetzt bei testfunktion hängen, liegt also nicht an dem code der in der funktion eSensor::PassEdge vor dem throw steht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229775</guid><dc:creator><![CDATA[kaybee]]></dc:creator><pubDate>Tue, 03 Jul 2012 19:31:14 GMT</pubDate></item></channel></rss>