<?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[Stilfrage zu Return Codes]]></title><description><![CDATA[<p>hi!</p>
<p>Ich schreibe momentan eine Library, die mit PCI Geräten kommuniziert. Dabei werden viele geschachtelte Methoden aufgerufen.</p>
<p>Da in jeder Methode etwas &quot;schief gehen&quot; kann, wird immer ein int als Rückgabewert zurückgegeben. &quot;Eins&quot; bedeutet &quot;success&quot;. Alles andere hat viele unterschiedliche Bedeutungen.</p>
<p>Wie schleife ich solche return Codes am besten durch/ Wie handhabt ihr sowas?</p>
<p>So wie es ist, ist es (jedenfalls für mich) sehr fehleranfällig.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">int funcA()
{
  if (Fehler1) 
    return -1;
  if (Fehler2)
    return -2;
  return 1; // alles gut!
}

int funcB()
{
  if (Fehler1) 
    return -1;
  if (Fehler2)
    return -2;

  int retFuncA = funcA();
  if (retFuncA != 1)
  {
  if (retFuncA == -1)
     return -3;
  if (retFuncA == -2)
     return -4;
  }

  return 1; // alles gut!
}

int main()
{
  int retFuncB = funcB();
  if (retFuncB != 1)
   //Fehlercodes decodieren
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/241997/stilfrage-zu-return-codes</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 05:06:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241997.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 May 2009 14:43:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stilfrage zu Return Codes on Thu, 28 May 2009 14:43:38 GMT]]></title><description><![CDATA[<p>hi!</p>
<p>Ich schreibe momentan eine Library, die mit PCI Geräten kommuniziert. Dabei werden viele geschachtelte Methoden aufgerufen.</p>
<p>Da in jeder Methode etwas &quot;schief gehen&quot; kann, wird immer ein int als Rückgabewert zurückgegeben. &quot;Eins&quot; bedeutet &quot;success&quot;. Alles andere hat viele unterschiedliche Bedeutungen.</p>
<p>Wie schleife ich solche return Codes am besten durch/ Wie handhabt ihr sowas?</p>
<p>So wie es ist, ist es (jedenfalls für mich) sehr fehleranfällig.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">int funcA()
{
  if (Fehler1) 
    return -1;
  if (Fehler2)
    return -2;
  return 1; // alles gut!
}

int funcB()
{
  if (Fehler1) 
    return -1;
  if (Fehler2)
    return -2;

  int retFuncA = funcA();
  if (retFuncA != 1)
  {
  if (retFuncA == -1)
     return -3;
  if (retFuncA == -2)
     return -4;
  }

  return 1; // alles gut!
}

int main()
{
  int retFuncB = funcB();
  if (retFuncB != 1)
   //Fehlercodes decodieren
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1717339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717339</guid><dc:creator><![CDATA[Butze_15]]></dc:creator><pubDate>Thu, 28 May 2009 14:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage zu Return Codes on Thu, 28 May 2009 14:45:45 GMT]]></title><description><![CDATA[<p>Exceptions benutzen. Die schleifen automatisch durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717340</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 28 May 2009 14:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage zu Return Codes on Thu, 28 May 2009 14:46:37 GMT]]></title><description><![CDATA[<p>Verwende Exceptions. Hier drei Artikel aus unserem Magazin:<br />
<a href="http://magazin.c-plusplus.net/artikel/Exception-Handling" rel="nofollow">http://magazin.c-plusplus.net/artikel/Exception-Handling</a><br />
<a href="http://magazin.c-plusplus.net/artikel/Modernes%20Exception-Handling%20Teil%201%20-%20Die%20Grundlagen" rel="nofollow">http://magazin.c-plusplus.net/artikel/Modernes Exception-Handling Teil 1 - Die Grundlagen</a><br />
<a href="http://magazin.c-plusplus.net/artikel/Modernes%20Exception-Handling%20Teil%202%20-%20Hinter%20den%20Kulissen" rel="nofollow">http://magazin.c-plusplus.net/artikel/Modernes Exception-Handling Teil 2 - Hinter den Kulissen</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717341</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 28 May 2009 14:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage zu Return Codes on Thu, 28 May 2009 14:49:10 GMT]]></title><description><![CDATA[<p>Ja, Exceptions sind wirklich vorteilhaft. Aber auch nicht ohne...</p>
<p>Hier gibt es ein paar gute Erläuterungen:</p>
<p><a href="http://magazin.c-plusplus.net/artikel/Exception-Handling" rel="nofollow">http://magazin.c-plusplus.net/artikel/Exception-Handling</a><br />
<a href="http://magazin.c-plusplus.net/artikel/Modernes%20Exception-Handling%20Teil%201%20-%20Die%20Grundlagen" rel="nofollow">http://magazin.c-plusplus.net/artikel/Modernes Exception-Handling Teil 1 - Die Grundlagen</a><br />
<a href="http://magazin.c-plusplus.net/artikel/Modernes%20Exception-Handling%20Teil%202%20-%20Hinter%20den%20Kulissen" rel="nofollow">http://magazin.c-plusplus.net/artikel/Modernes Exception-Handling Teil 2 - Hinter den Kulissen</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717343</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Thu, 28 May 2009 14:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage zu Return Codes on Thu, 28 May 2009 15:29:43 GMT]]></title><description><![CDATA[<p>...krass seid ihr schnell!</p>
<p>danke für die links, ich werd sie mir in Ruhe durchlesen!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717377</guid><dc:creator><![CDATA[BuTze_15]]></dc:creator><pubDate>Thu, 28 May 2009 15:29:43 GMT</pubDate></item></channel></rss>