<?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 von new fangen]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn new fehlschlägt dann möchte ich das mit einer Exception fangen. Ich dachte std::bad_alloc wäre die Geforderte.<br />
Aber anstatt, dass die Exception geworfen wird, muss ich den Pointer auf 0 abfragen.</p>
<p>Ich empfinde aber das Fangen einer Exception besser als das &quot;auf 0 prüfen&quot;.<br />
Was müsste ich denn machen, dass die Exception geworfen wird?</p>
<p>Ich arbeite mit MS VisualStudio 6 und das hier ist mein Beispielcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using std::cout;
using std::endl;

int main() {
	char* hugo = 0;
	try {
		hugo = new char[9999999999999999];
		delete hugo;
	}
	catch(std::bad_alloc) {
		cout &lt;&lt; &quot;kein hugo&quot; &lt;&lt; endl;
	}

	cout &lt;&lt; &quot;fin&quot; &lt;&lt; endl;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/120329/exception-von-new-fangen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 07:33:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/120329.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Sep 2005 09:26:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 09:26:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn new fehlschlägt dann möchte ich das mit einer Exception fangen. Ich dachte std::bad_alloc wäre die Geforderte.<br />
Aber anstatt, dass die Exception geworfen wird, muss ich den Pointer auf 0 abfragen.</p>
<p>Ich empfinde aber das Fangen einer Exception besser als das &quot;auf 0 prüfen&quot;.<br />
Was müsste ich denn machen, dass die Exception geworfen wird?</p>
<p>Ich arbeite mit MS VisualStudio 6 und das hier ist mein Beispielcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using std::cout;
using std::endl;

int main() {
	char* hugo = 0;
	try {
		hugo = new char[9999999999999999];
		delete hugo;
	}
	catch(std::bad_alloc) {
		cout &lt;&lt; &quot;kein hugo&quot; &lt;&lt; endl;
	}

	cout &lt;&lt; &quot;fin&quot; &lt;&lt; endl;
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/870065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870065</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Mon, 12 Sep 2005 09:26:12 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 09:29:46 GMT]]></title><description><![CDATA[<blockquote>
<p>MS VisualStudio 6</p>
</blockquote>
<p>das ist der grund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/870071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870071</guid><dc:creator><![CDATA[standar!]]></dc:creator><pubDate>Mon, 12 Sep 2005 09:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 10:00:03 GMT]]></title><description><![CDATA[<p>Das würde also bedeuten, dass der gcc die Exception werfen würde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/870088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870088</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Mon, 12 Sep 2005 10:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 09:58:47 GMT]]></title><description><![CDATA[<p>hehejo schrieb:</p>
<blockquote>
<p>Das würde als bedeuten, dass der gcc die Exception werfen würde?</p>
</blockquote>
<p>In neueren Versionen ja, genauso wie der neue MSVC eine Exception wirft.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/870091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870091</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Mon, 12 Sep 2005 09:58:47 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 10:00:42 GMT]]></title><description><![CDATA[<p>Tjo - wir programmieren hier noch mit dem Alten.<br />
Gut, dann frag ich auf 0 ab.</p>
<p>Danke für die Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/870093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870093</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Mon, 12 Sep 2005 10:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 10:40:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char *a = new char[9^9^9];
if( !a )
  throw was_auch_immer;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/870114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870114</guid><dc:creator><![CDATA[lösung]]></dc:creator><pubDate>Mon, 12 Sep 2005 10:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 11:24:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">hugo = new char[9999999999999999];
		delete hugo;
</code></pre>
<p>muss</p>
<pre><code class="language-cpp">delete [] hugo;
</code></pre>
<p>heißen.</p>
<p>OT: Die Namensgebung gefällt mir <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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/870147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870147</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 12 Sep 2005 11:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to Exception von new fangen on Mon, 12 Sep 2005 11:41:52 GMT]]></title><description><![CDATA[<p>Man kann auch einen new-Handler installieren um die Geschichte ein wenig zu kontrollieren:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstdlib&gt;

using namespace std;

void noMoreMem() {
  cerr&lt;&lt;&quot;ERROR: Can't provide more memory!&quot;&lt;&lt;'\n';
  abort();
};

int main(int argc, char **argv) {
  set_new_handler(noMoreMem);

  int *pArray = new int[1000000000];
  delete [] pArray;
  return 0;
};
</code></pre>
<p>//EDIT: Tippfehler im Code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/870160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/870160</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Mon, 12 Sep 2005 11:41:52 GMT</pubDate></item></channel></rss>