<?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[Definiert als string -&amp;gt; returned als char?]]></title><description><![CDATA[<p>Das Problem hatte ich zwar vor ein paar Tagen, aber so was lässt einen nicht mehr los.</p>
<p>Ich hab ein bisschen mit dem werfen von Exceptions ohne Klassen gespielt (weil ich zu faul war, ne klasse zu bauen <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>Und der Code funktioniert ja einwandfrei</p>
<pre><code class="language-cpp">#include &lt;string&gt;
using namespace std;

... irgendwo in einer Methode
throw &quot;Fehler&quot;;
</code></pre>
<p>Edit: Im Header wurde natürlich ein std::string als geworfenes Objekt definiert</p>
<p>Hab ich was übersehen? Wird sowas direkt als char geworfen und nicht als String? Denn in der Methode, die diese Methode aufruft, konnte ich diese Meldung nicht mit einem catch(string s) fangen, sondern mit nem catch(char** s) ?<br />
Wird in C++ per default immernoch alles als char Arrays geschrieben? Wenn ja, wie ändere ich das um möglichst bei der gleichen Schreibweise zu bleiben?</p>
<p>Gibts so was wie das F Attribut bei Zahlen um daraus n float zu machen? Das Äquivalent für Strings? S hat nicht funktioniert <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/193445/definiert-als-string-gt-returned-als-char</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 00:45:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193445.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Sep 2007 08:56:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 08:57:25 GMT]]></title><description><![CDATA[<p>Das Problem hatte ich zwar vor ein paar Tagen, aber so was lässt einen nicht mehr los.</p>
<p>Ich hab ein bisschen mit dem werfen von Exceptions ohne Klassen gespielt (weil ich zu faul war, ne klasse zu bauen <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>Und der Code funktioniert ja einwandfrei</p>
<pre><code class="language-cpp">#include &lt;string&gt;
using namespace std;

... irgendwo in einer Methode
throw &quot;Fehler&quot;;
</code></pre>
<p>Edit: Im Header wurde natürlich ein std::string als geworfenes Objekt definiert</p>
<p>Hab ich was übersehen? Wird sowas direkt als char geworfen und nicht als String? Denn in der Methode, die diese Methode aufruft, konnte ich diese Meldung nicht mit einem catch(string s) fangen, sondern mit nem catch(char** s) ?<br />
Wird in C++ per default immernoch alles als char Arrays geschrieben? Wenn ja, wie ändere ich das um möglichst bei der gleichen Schreibweise zu bleiben?</p>
<p>Gibts so was wie das F Attribut bei Zahlen um daraus n float zu machen? Das Äquivalent für Strings? S hat nicht funktioniert <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/1372868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372868</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 08:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 08:58:39 GMT]]></title><description><![CDATA[<blockquote>
<p>Das Äquivalent für Strings? S hat nicht funktioniert <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>
</blockquote>
<p>Du weißt jetzt aber schon das std::string sich nur um einen char* kümmert? ^^</p>
<pre><code class="language-cpp">throw std::string(&quot;Fehler&quot;);
</code></pre>
<pre><code class="language-cpp">throw std::runtime_error(&quot;Unknown error&quot;);
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372871</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 26 Sep 2007 08:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:00:16 GMT]]></title><description><![CDATA[<p>Ja, weiß ich sicherlich, aber wenn ich den Datentypen als std::string definiert habe und ihn auch vermeindlich auch werfe, dann muss ich den doch auch als std::string irgendwie fangen können?</p>
<p>Oder gibts noch ne Implementation von String die das besser verstecken kann <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1372873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372873</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:02:42 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Oder gibts noch ne Implementation von String die das besser verstecken kann <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>
</blockquote>
<p>Das hat nichts mit irgendeiner Implementation zu tun. Der Typ von &quot;Fehler&quot; ist nun mal char*, und das musst du dann auch fangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372876</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:02:42 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:03:34 GMT]]></title><description><![CDATA[<p>String-Literale sind in C++ immer noch char* - d.h. einen <code>throw &quot;Fehler&quot;;</code> mußt du mit <code>catch(char* s)...</code> auffangen (da greifen nicht die üblichen impliziten Umwandlungen).</p>
<p>PS: Dir ist der Unterschied zwischen &quot;normalem&quot; return und Exceptions schon klar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372878</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:05:28 GMT]]></title><description><![CDATA[<p>Hehe, klar weiß ich was Exceptions und was returns sind.<br />
Ich bin nur sehr erstaunt, dass es einen char* Wrapper namens String gibt, der aber dort, wo ich es logisch gefunden hätte nicht greift...<br />
Also muss ich den nochmal in einen String danach packen, naja...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372881</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:05:28 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:07:20 GMT]]></title><description><![CDATA[<p>Wenn du einen std::string wirfst dann kannst du ihn natürlich auch als solchen fangen. Nur ist ein Stringliteral kein std::string sondern eher ein const char* (genauer ein Array von n const char). Wenn ein L davorsteht natürlich die wchar_t Variante.</p>
<p>[edit] Das war ja viel zu spät. [edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372883</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:07:20 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:07:48 GMT]]></title><description><![CDATA[<p>Achso, also erstmal vor throw ein string s = &quot;text&quot;;<br />
definieren, dann werfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372884</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:08:33 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Achso, also erstmal vor throw ein string s = &quot;text&quot;;<br />
definieren, dann werfen?</p>
</blockquote>
<p>(D)Evil hat's dir doch gezeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372886</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:08:33 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:08:42 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>...char* Wrapper namens String ...</p>
</blockquote>
<p><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="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372887</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:08:50 GMT]]></title><description><![CDATA[<p>So wie (D)Evil es geschrieben hat reicht es auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372888</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:10:32 GMT]]></title><description><![CDATA[<p>Ah! Entschuldigung, hatte den Zusammenhang da noch nicht gehabt, jetzt ists mir klar, danke (D)evil! <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>
<p>Eine anonyme Variable ist ja sowas in der Art.</p>
<p>Danke an alle, ps die Ironie von Simon2 versteh ich nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372889</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:10:32 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:12:21 GMT]]></title><description><![CDATA[<p><a href="http://de.wikipedia.org/wiki/H%C3%BCllenklasse" rel="nofollow">http://de.wikipedia.org/wiki/Hüllenklasse</a> ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372893</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:14:16 GMT]]></title><description><![CDATA[<p>Goldwaage? <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="🙂"
    /><br />
Ich hab in dem Zusammenhang nicht explizit von nem Entwurfsmuster gesprochen, sondern von der Tatsache, dass für mich String ein Wrapper für char* ist, er verpackt in den in eine neue Hülle, das tut er doch? Damit man besser mit char sequenzen arbeiten kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372896</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:25:33 GMT]]></title><description><![CDATA[<p>Der Typ eines Stringliterals ist Array aus const char (bzw. wchar_t). Wenn der Operand eines throw-Ausdrucks ein Array aus T ist, so ist das Exceptionobjekt, das geworfen wird, vom Typ Zeiger auf T.<br />
throw &quot;Fehler&quot;<br />
wirft also eine Exception vom Typ const char* .</p>
<p>Als Handler kommen damit in Frage:</p>
<pre><code class="language-cpp">catch (const char*)
catch (const char*&amp;)
catch (const char* const&amp;)
catch (const char* volatile&amp;)
catch (const char* const volatile&amp;)
catch (const volatile char*)
catch (const volatile char* const&amp;)
catch (const volatile char* const volatile&amp;)
catch (...)
</code></pre>
<p>Alles Andere ist nicht standardkonform.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372903</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to Definiert als string -&amp;gt; returned als char? on Wed, 26 Sep 2007 09:27:58 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Goldwaage? <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="🙂"
    /><br />
Ich hab in dem Zusammenhang nicht explizit von nem Entwurfsmuster gesprochen, sondern von der Tatsache, dass für mich String ein Wrapper für char* ist, er verpackt in den in eine neue Hülle, das tut er doch? Damit man besser mit char sequenzen arbeiten kann</p>
</blockquote>
<p>Naja, ich sehe std::string schon als eigene Klasse, die die Arbeiten übernimmt, die man früher mit char*, strxy(), ... erledigt hat.<br />
Es ist ja nicht einmal notwendig, dass string die Daten in Form eines &quot;char*&quot; ablegt. Das kann der prinzipiell auch ganz anders machen....</p>
<p>Sagen wir mal andersherum: &quot;String&quot; ist eigentlich das zugrundeliegende Konzept, das man in C leider nicht anders als mit NTBS-char* abbilden konnte...und std::string kommt dem eigentlichen Konzept schon sehr viel näher.<br />
Oder wer interessiert sich wirklich für einen &quot;Zeiger auf eine Einbytezahl&quot;, wenn er Text bearbeiten will ? <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>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372913</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:27:58 GMT</pubDate></item></channel></rss>