<?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[try-catch frage]]></title><description><![CDATA[<p>Folgender Code gibt kein &quot;fehler&quot; aus. Stattdessen wird im debug auf die fehlerhafte Zeile angezeigt. Warum?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main() {

	try {
		cout &lt;&lt; &quot;start&quot; &lt;&lt; endl;

		int b = 0;
		int a = 5 / b;

	}
	catch (...) {
		cout &lt;&lt; &quot;fehler&quot; ;

	}
	cin.get();

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/286855/try-catch-frage</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 16:29:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286855.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 May 2011 14:22:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:23:53 GMT]]></title><description><![CDATA[<p>Folgender Code gibt kein &quot;fehler&quot; aus. Stattdessen wird im debug auf die fehlerhafte Zeile angezeigt. Warum?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main() {

	try {
		cout &lt;&lt; &quot;start&quot; &lt;&lt; endl;

		int b = 0;
		int a = 5 / b;

	}
	catch (...) {
		cout &lt;&lt; &quot;fehler&quot; ;

	}
	cin.get();

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2064722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064722</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 17 May 2011 14:23:53 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:25:45 GMT]]></title><description><![CDATA[<p>Weil die Division erst zur Laufzeit ausgewertet wird, das muss der Compiler nicht bemängeln. Sobald der Code etwas komplexer wird, kann er das auch gar nicht mehr.</p>
<p>Nächstes Mal kannst du uns aber gleich auf die fehlerhafte Zeile hinweisen statt lauter irrelevante Dinge wie <code>try-catch</code> und Includes mitzuschleppen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064724</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 17 May 2011 14:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:34:27 GMT]]></title><description><![CDATA[<p>Hm? wenn ich auf release kompiliere kommt da auch gar kein catch.<br />
Es geht darum, dass ich ein einfaches Beispiel mit try und catch testen will.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main() {
	try {
		cout &lt;&lt; &quot;start&quot; &lt;&lt; endl;

		int b = 0;
		int a = 5 / b; // hier sollte der fehler sein
		cout &lt;&lt; a;
	}
	catch (...) {
		cout &lt;&lt; &quot;fehler&quot; ;
	}
	cin.get();
}
</code></pre>
<p>der code ist ein bißchen von da kopiert<br />
<a href="http://www.willemer.de/informatik/cpp/exceptions.htm" rel="nofollow">http://www.willemer.de/informatik/cpp/exceptions.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064729</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 17 May 2011 14:34:27 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:47:32 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>Es geht darum, dass ich ein einfaches Beispiel mit try und catch testen will.</p>
</blockquote>
<p>Tja, nur dass Division durch Null in C++ keine Exception wirft.</p>
<p>Wenn du eine &quot;echte&quot; Exception auslösen willst (du könntest schließlich auch einfach selber ein throw machen), kannst du ja mal versuchen mit new ein wahnsinnig großes Array (viel größer als dein Rechner Speicher hat) zu erzeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064738</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 17 May 2011 14:47:32 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:47:54 GMT]]></title><description><![CDATA[<p>Tja ich denke mal das division by zero etwas ist, was das Betriebssystem verwaltet und nicht die Laufzeitumgebung!</p>
<p>Ich weiß das unter Linux solche dinge per signals vom Betriebssystem an das Programm gesendet wird und man kann solche Signals halt nur über Signal Handler abfangen.</p>
<p>C++ ist nicht JAVA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064740</guid><dc:creator><![CDATA[Cefour]]></dc:creator><pubDate>Tue, 17 May 2011 14:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:49:19 GMT]]></title><description><![CDATA[<p>Hier gabs schonmal eine Diskussion darüber.<br />
<a href="http://www.c-plusplus.net/forum/161198" rel="nofollow">http://www.c-plusplus.net/forum/161198</a><br />
Es gibt wohl Compiler die bei Division durch 0 eine Exception werfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064741</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 17 May 2011 14:49:19 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:53:36 GMT]]></title><description><![CDATA[<p>Wenn man ein zusätzliches if verkraften kann, dann kann man das natürlich auch so machen:</p>
<pre><code class="language-cpp">try
	{
		int a = 3;
		int b = 0;
		int c;
		if ( b == 0 )
			// Werfe hier eine exception
		else
			c = a / b; // Hier natürlich aufpassen mit Integer-Division
	} 
	catch ( ... )
	{
		// Fehlermeldung
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2064743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064743</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Tue, 17 May 2011 14:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 14:58:31 GMT]]></title><description><![CDATA[<p>ja hab so gemacht</p>
<pre><code class="language-cpp">if ( b == 0) throw 1;
</code></pre>
<p>auch gut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064747</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 17 May 2011 14:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 15:01:46 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>ja hab so gemacht</p>
<pre><code class="language-cpp">if ( b == 0) throw 1;
</code></pre>
<p>auch gut</p>
</blockquote>
<p>Wenn du das an mehreren Stellen im Code brauchst lohnt es sich eventuell eine eigene Exceptionklasse zu erstellen.<br />
Geht ganz leicht wenn man von exception ableitet.</p>
<p>Jenachdem halt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064749</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Tue, 17 May 2011 15:01:46 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 15:05:52 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Es gibt wohl Compiler die bei Division durch 0 eine Exception werfen.</p>
</blockquote>
<p>Jein. Das Ganze nennt sich <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Structured_Exception_Handling" rel="nofollow">SEH</a> (oder VEH) und braucht Compilersupport, aber der größte Teil der Arbeit wird vom Betriebssystem getan (verfügbar nur unter Windows) - Integer-Division durch 0 erzeugt eine Trap, d.h. der Prozess selbst hat erst mal nicht mehr die Kontrolle. Meines Wissens beherrscht das nur MSVC, wenn bestimmte Compilerschalter gesetzt werden.</p>
<p>Man muss dazu sagen, dass es notgedrungen kein wirklich verlässlicher Mechanismus ist. Wenn man beispielsweise einen Segfault kriegt, besteht die Wahrscheinlichkeit, dass man sich vorher schon andere Teile des Speichers zerschossen hat und einen Laufzeitfehler gar nicht mehr vernünftig behandeln kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064751</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 17 May 2011 15:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 16:09:39 GMT]]></title><description><![CDATA[<p>Ich halte Exceptions bei Logikfehlern für eine schlechte Idee. Eine Division durch Null darf in einem korrekten Programm nie auftreten. Man kann eine solche Ausnahme nicht sinnvoll behandeln, denn der Nenner hätte gar nie erst 0 sein dürfen. Das einzig Vernünftige ist also den Bug zu fixen. Daher würde ich wenn überhaupt zu <code>assert</code> greifen. &quot;Wenn überhaupt&quot;, da moderne Debugger wahrscheinlich ebenso wie <code>assert</code> sofort anhalten, wenn durch Null dividiert wird.</p>
<p>Mir ist durchaus bewusst, dass Benutzereingaben o.Ä. zu einer Null führen können, aber die Korrektheit sollte meiner Meinung nach direkt beim Einlescode geprüft werden und nicht erst bei Berechnungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064784</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 17 May 2011 16:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 16:14:05 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Mir ist durchaus bewusst, dass Benutzereingaben o.Ä. zu einer Null führen können, aber die Korrektheit sollte meiner Meinung nach direkt beim Einlescode geprüft werden und nicht erst bei Berechnungen.</p>
</blockquote>
<p>Das geht aber nur, wenn der eingegebene Wert mehr oder minder direkt dort auftaucht. Wenn komplexere mathematische Umrechnungen vorkommen geht das nicht mehr so einfach (Numerik, iterative Algorithmen etc.).<br />
Exception sind aber auch hier eher selten die Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064787</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 17 May 2011 16:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 17:42:13 GMT]]></title><description><![CDATA[<p>Ich frage mich wieso überhaupt eine Null in eine Variable einschleichen kann ^^</p>
<p>In meiner Philosophie wäre das x mal teilen also z.b: die fünf 3 mal Teilen = in 4 Stücken = 1,25. Wenn ich den Kuchen 3 mal teile, habe ich auch 4 Stücke.</p>
<p>5 / 0 null mal teilen = 5 (ganzer Stück)<br />
5 / 1 ein mal teilen = 2,5 (in zwei Hälften)<br />
5 / 2 zweimal teilen = 1,66 ( 3 Stücke)<br />
...</p>
<p>Aber der Divisor heisst &quot;in x Stücken&quot; wenn schon 0 dann wäre das im umgangssprachlichen Ausdruck &quot;in 0 Stücken&quot; 5 / 0 = 0</p>
<p>Ist die Funktion Division eigentlich intern im Prozessor eingebaut oder ist das auch eine Programmierung?</p>
<p>Wobei dass schnell am try-catch Thema vorbeigeht, sorry...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064827</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 17 May 2011 17:42:13 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 17:58:25 GMT]]></title><description><![CDATA[<p>Übersehe ich da einen Smiley oder ist mein Ironiedetektor sonstwie kaputt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064833</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 17 May 2011 17:58:25 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 18:04:42 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>Ich frage mich wieso überhaupt eine Null in eine Variable einschleichen kann ^^</p>
<p>In meiner Philosophie wäre das x mal teilen also z.b: die fünf 3 mal Teilen = in 4 Stücken = 1,25. Wenn ich den Kuchen 3 mal teile, habe ich auch 4 Stücke.</p>
<p>5 / 0 null mal teilen = 5 (ganzer Stück)<br />
5 / 1 ein mal teilen = 2,5 (in zwei Hälften)<br />
5 / 2 zweimal teilen = 1,66 ( 3 Stücke)<br />
...</p>
</blockquote>
<p>Das kannst du schon so definieren. Dann musst du aber auch eine komplett andere Algebra darauf aufbauen, wenn du damit rechnen willst. <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="😉"
    /><br />
Hatte darüber mal eine lange Diskussion mit meiner Gastmutter in Australien. Die hat mir das auch nicht geglaubt, dass Division durch 0 nicht 0 (oder die Ursprungszahl) gibt (respektive nicht so definiert ist). ^^</p>
<blockquote>
<p>Ist die Funktion Division eigentlich intern im Prozessor eingebaut oder ist das auch eine Programmierung?</p>
</blockquote>
<p>Kommt auf den Prozessor drauf an. Kann sein, muss aber nicht. Division braucht relativ viel Hardware.</p>
<p>//Edit:<br />
Zum Glück gibt es eine exakte <a href="http://de.wikipedia.org/wiki/Division_(Mathematik)" rel="nofollow">Definition</a>, wie die Division definiert ist. Und die braucht keinen (missverständlichen) Text dazu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064836</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 17 May 2011 18:04:42 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 18:05:22 GMT]]></title><description><![CDATA[<p>Zu deiner Philosophie:<br />
Die Division ist die Umkehrfunktion der Multiplikation. Und wie willst du das multiplizieren mit 0 umkehren? Das geht nicht, es existiert keine sinnvolle Umkehrung ==&gt; die Division durch 0 ist nicht definiert.</p>
<p>Zur Implementierung:<br />
Auf Hardwareebene hat man entweder Multipliers oder Adders. Mann kann ja mit Adders auch Multiplikationen durchführen.<br />
Je nach Hardwarearchitektur hast du dann ein anderes instruction set. In deiner IA32-Architecture hast du bestimmt einen multiplier.<br />
Diese Hardwareinstruktionen sind mit elektronischen Schaltkreisen implementiert.</p>
<p>*Edit<br />
Mist, ging ja um Division und nicht um Multiplikation ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064838</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Tue, 17 May 2011 18:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 18:10:42 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>Zur Implementierung:<br />
Auf Hardwareebene hat man entweder Multipliers oder Adders. Mann kann ja mit Adders auch Multiplikationen durchführen.</p>
</blockquote>
<p>Wobei das ein nicht-exklusives &quot;oder&quot; ist oder wie addierst du 2 und 3 lediglich mit Multiplikation? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Adder sind so saugünstig. Die entstehen fast von alleine. ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064839</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 17 May 2011 18:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 18:22:10 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>icarus2 schrieb:</p>
<blockquote>
<p>Zur Implementierung:<br />
Auf Hardwareebene hat man entweder Multipliers oder Adders. Mann kann ja mit Adders auch Multiplikationen durchführen.</p>
</blockquote>
<p>Wobei das ein nicht-exklusives &quot;oder&quot; ist oder wie addierst du 2 und 3 lediglich mit Multiplikation? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Adder sind so saugünstig. Die entstehen fast von alleine. ^^</p>
</blockquote>
<p>Och, ich drücke mich heute mal wieder unverständlich aus ^^</p>
<p>Ich meinte man braucht entweder einen Adder oder einen Multiplier, um Multiplikationen durchzuführen.<br />
Für Additionen nimmt man natürlich immer einen Adder <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="😃"
    /> Aber man hat nicht immer einen Multiplier.</p>
<p>*Edit<br />
@ Drakon<br />
Hattet ihr eine spezifische Architektur in der Digitech? Wir verwenden die MIPS Architektur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064846</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Tue, 17 May 2011 18:22:10 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 18:34:44 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>*Edit<br />
@ Drakon<br />
Hattet ihr eine spezifische Architektur in der Digitech? Wir verwenden die MIPS Architektur.</p>
</blockquote>
<p>Wir hatten MRC. Wurde von Wirth designt und von Lisa Liu (gab bei uns neben Capkun Digitech) implementiert auf dem Board.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064856</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 17 May 2011 18:34:44 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 20:13:09 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>5 / 0 null mal teilen = 5 (ganzer Stück)<br />
5 / 1 ein mal teilen = 2,5 (in zwei Hälften)<br />
5 / 2 zweimal teilen = 1,66 ( 3 Stücke)</p>
</blockquote>
<p>Und da 5 * 0 ja wieder schön 5 ergibt, macht das Ganze auch wunderbar Sinn.</p>
<p>Übrigens, 5/1 = 5 und 5/2 = 2.5... Durch x dividieren heisst nicht &quot;x mal teilen&quot; sondern &quot;in x Stücke teilen&quot;. Und du kannst den Kuchen nicht in 0 Stücke teilen, mindestens eins hast du immer. Nur so...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064915</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 17 May 2011 20:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 21:04:25 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>5 / 0 null mal teilen = 5 (ganzer Stück)<br />
5 / 1 ein mal teilen = 2,5 (in zwei Hälften)<br />
5 / 2 zweimal teilen = 1,66 ( 3 Stücke)</p>
</blockquote>
<p>Und da 5 * 0 ja wieder schön 5 ergibt, macht das Ganze auch wunderbar Sinn.</p>
<p>Übrigens, 5/1 = 5 und 5/2 = 2.5... Durch x dividieren heisst nicht &quot;x mal teilen&quot; sondern &quot;in x Stücke teilen&quot;. Und du kannst den Kuchen nicht in 0 Stücke teilen, mindestens eins hast du immer. Nur so...</p>
</blockquote>
<p>Du versteht das nicht.<br />
Wir denken:<br />
20 Bier und 5 Leute =&gt; 20/5=4 =&gt; Jeder kriegt 4 Bier.</p>
<p>Er denkt:<br />
20 Bier und 5 Leute =&gt; 20 mit vier äquidistanten Teilungspaapstreifenseparatierungsabstandshaltertrennelementen dazwischen =&gt; Jeder kriegt 4 Bier.</p>
<p>Beide Denken sind gleichwertig.</p>
<p>Aber er hat kein Problem mit der Teilung durch 0, weil sie bei ihm nicht vorkommen kann.</p>
<p>Wir:<br />
cin&gt;&gt;bier;<br />
cin&gt;&gt;leute;<br />
return bier/leute;//throws if leute==0</p>
<p>Er:<br />
cin&gt;&gt;bier;<br />
cin&gt;&gt;leute;<br />
unsigned int teilungen=leute-1;//throws if leute==0<br />
return teilungsgrößebeisovielen(bier,teilungen)//nothrow</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064940</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 17 May 2011 21:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Tue, 17 May 2011 21:35:09 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Und du kannst den Kuchen nicht in 0 Stücke teilen, mindestens eins hast du immer. Nur so...</p>
</blockquote>
<p>Soll ich dir das Gegenteil beweisen? Du besorgst aber den Kuchen. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064952</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 17 May 2011 21:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Wed, 18 May 2011 07:54:35 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Tja, nur dass Division durch Null in C++ keine Exception wirft.</p>
</blockquote>
<p>Wie ist denn das zu verstehen? Noch gestern habe ich einen Run-time-Fehler (Division durch 0) im VS2008 (debug-Modus) erhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065049</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Wed, 18 May 2011 07:54:35 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Wed, 18 May 2011 07:57:45 GMT]]></title><description><![CDATA[<p>Die Kuchenmetapher ist ja ganz nett, aber aus Metaphern zu folgern ist immer eine haarige Angelegenheit. Ein Kuchen dreimal geteilt bedeutet für mich sechs Stücke, noch Fragen?</p>
<p>Grundsätzlich ist die Division in der Definition eines <a href="https://secure.wikimedia.org/wikipedia/de/wiki/K%C3%B6rper_%28Algebra%29" rel="nofollow">algebraischen Körpers</a> nicht enthalten - es gibt zunächst nur Addition und Multiplikation. Die Division ist eine kosmetische Schreibweise für Multiplikation mit der Inversen eines Elements, d.h. man definiert</p>
<p>a / b = a * b<sup>-1</sup></p>
<p>wobei b<sup>-1</sup> definiert ist durch b * b<sup>-1</sup> = 1. 0 hat in den reellen Zahlen kein Inverses (ich wüsste jetzt auch aus dem Stand keinen Körper, in dem das der Fall ist), und deswegen ist die Definition durch 0 undefiniert. Damit hat es sich auch schon.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22303">@Rewind</a>: Es geht um Exceptions im Sinne von C++ (d.h. throw, try, catch), nicht um Kerneltraps.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065052</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Wed, 18 May 2011 07:57:45 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Wed, 18 May 2011 08:17:57 GMT]]></title><description><![CDATA[<p>[Rewind] schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Tja, nur dass Division durch Null in C++ keine Exception wirft.</p>
</blockquote>
<p>Wie ist denn das zu verstehen? Noch gestern habe ich einen Run-time-Fehler (Division durch 0) im VS2008 (debug-Modus) erhalten.</p>
</blockquote>
<p>Schau mal auf Seite 1 den letzten Beitrag an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065067</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 18 May 2011 08:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to try-catch frage on Wed, 18 May 2011 08:35:00 GMT]]></title><description><![CDATA[<p>Eine passendere Metapher ist nicht das Aufteilen sondern das Verteilen. 10 Kuchenstücke sollen gerecht an 5 Leute verteilt werden -&gt; jeder bekommt 2 Kuchenstücke. Bei 2 Leuten bekommt jeder 5. Bei einem Leut bekommt jeder 10 Stücke. Und bei 0? Bekommt jeder 0? Oder 10? Oder 10000000? Reichen würde es. Aber es gibt keine sinnvolle Antwort, man kann Disivsion mit 0 nicht sinnvoll definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065081</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Wed, 18 May 2011 08:35:00 GMT</pubDate></item></channel></rss>