<?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 funktioniert nicht]]></title><description><![CDATA[<p>In einer Funktion frage ich die IP Adresse eines Hostrechners an einem DSN Server ab, das funktioniert auch.<br />
Wenn aber keine Internetverbindung besteht, stürzt die Anwendung natürlich ab.</p>
<pre><code>try
    {
        //Winsock initialisieren
        if(WSAStartup(MAKEWORD (2,2) , &amp;wsaData) != 0)
        {
            return (char*)&quot;&quot;;
        }
        else
        {
            //IP abfragen
            struct hostent * HostInfo = gethostbyname(szInetAdresse);
            memcpy(&amp;(SockAddr.sin_addr),HostInfo-&gt;h_addr,HostInfo-&gt;h_length);

            //Adresse uebernehmen
            szIpAdresse = inet_ntoa(SockAddr.sin_addr);

            //WinSock bereinigen
            WSACleanup();
            return szIpAdresse;
        }
    }
    catch(const char* e)
    {
        MessageBox(0, e, &quot;&quot;, MB_OK);
    }
</code></pre>
<p>Daher möchte ich try verwende, aber das Programm stürzt gleich ab wie ohne.<br />
Kann mir jemand segen, was ich da falsch mache?</p>
<p>Danke für jede Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316473/try-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 18:26:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316473.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 May 2013 08:16:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 05 May 2013 08:16:47 GMT]]></title><description><![CDATA[<p>In einer Funktion frage ich die IP Adresse eines Hostrechners an einem DSN Server ab, das funktioniert auch.<br />
Wenn aber keine Internetverbindung besteht, stürzt die Anwendung natürlich ab.</p>
<pre><code>try
    {
        //Winsock initialisieren
        if(WSAStartup(MAKEWORD (2,2) , &amp;wsaData) != 0)
        {
            return (char*)&quot;&quot;;
        }
        else
        {
            //IP abfragen
            struct hostent * HostInfo = gethostbyname(szInetAdresse);
            memcpy(&amp;(SockAddr.sin_addr),HostInfo-&gt;h_addr,HostInfo-&gt;h_length);

            //Adresse uebernehmen
            szIpAdresse = inet_ntoa(SockAddr.sin_addr);

            //WinSock bereinigen
            WSACleanup();
            return szIpAdresse;
        }
    }
    catch(const char* e)
    {
        MessageBox(0, e, &quot;&quot;, MB_OK);
    }
</code></pre>
<p>Daher möchte ich try verwende, aber das Programm stürzt gleich ab wie ohne.<br />
Kann mir jemand segen, was ich da falsch mache?</p>
<p>Danke für jede Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321081</guid><dc:creator><![CDATA[Newling]]></dc:creator><pubDate>Sun, 05 May 2013 08:16:47 GMT</pubDate></item><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 05 May 2013 08:24:23 GMT]]></title><description><![CDATA[<p>Warum sollte try hier helfen? Das sind C Funktionen, die Fehlerprüfung musst du entsprechend der Doku der Funktionen durchführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321082</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 05 May 2013 08:24:23 GMT</pubDate></item><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 05 May 2013 08:38:18 GMT]]></title><description><![CDATA[<p>try (mit catch) fängt nicht Fehler ab. Und Exceptions beheben auch keine Bugs (wie ein Freund von mir zu sagen pflegt oO)</p>
<p>try und catch führen nur einen Codeabschnitt aus und reagieren auf etwaige geworfene Exceptions. Damit du Fehler dabei fängst und beheben/reagieren kannst, müssen diese auch so kommen.</p>
<p>Und in C gibt es wie manni66 schon sagte keine Exceptions, da wird das Error-Handling ganz anders bewerkstelligt. Tja, und wenn keine Exceptions geworfen wird, kann auch keine gefangen werden, egal was für ein Fehler passiert ist.</p>
<p>(Stichwort Rückgabewerte der Funktionen ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321087</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 05 May 2013 08:38:18 GMT</pubDate></item><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 12 May 2013 06:50:00 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten, bin leider erst heute zurück um mich zu melden.</p>
<p>Ich habe es jetzt so gelöst, ist das der richtige Weg?</p>
<pre><code>//deklaration der Headerdateien
//-------------------------------------------------------------------------------------------------
#include &quot;main.h&quot;

//------------------------------------------------
//ermitteln der IP-Adresse des Host
//------------------------------------------------
char * GetServerIp(char * szInetAdresse)
{
    WSADATA wsaData;
    SOCKADDR_IN SockAddr;
    char * szIpAdresse;
//-----------------------------

    //Winsock initialisieren
    if(WSAStartup(MAKEWORD (2,2) , &amp;wsaData) != 0)
    {
        return (char *)&quot;&quot;;
    }
    else
    {
        //IP abfragen
        struct hostent * HostInfo = gethostbyname(szInetAdresse);

        //Fehler aufgetreten?
        if (WSAGetLastError() != 0)
        {
            MessageBox(0, &quot;Fehler Netzverbindung&quot;, &quot;&quot;, MB_OK);
            return (char *)&quot;&quot;;
        }
        else
        {
            memcpy(&amp;(SockAddr.sin_addr),HostInfo-&gt;h_addr,HostInfo-&gt;h_length);

            //Adresse uebernehmen
            szIpAdresse = inet_ntoa(SockAddr.sin_addr);

            //WinSock bereinigen
            WSACleanup();

            return szIpAdresse;
        }
    }
}
</code></pre>
<p>Die fehlende Netzwerkverbindung wird abgefangen - das Programm stürtzt nicht mehr ab.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322755</guid><dc:creator><![CDATA[Newling]]></dc:creator><pubDate>Sun, 12 May 2013 06:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 12 May 2013 08:24:16 GMT]]></title><description><![CDATA[<p>Jain, was du da machst ist hochgradig kein C++, wir sind hier aber im C++ Forum.</p>
<p>Unter der Prämisse, dass die Funktionen richtig sind und auch richtig angewandt wurden, kann man sagen, ja das ist richtig.<br />
Aber ich kenne mich mit Socket und WinAPI Programmierung nicht aus, sprich ich kann dir nicht sagen, ob die Funktionen so richtig sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2322761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322761</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 12 May 2013 08:24:16 GMT</pubDate></item><item><title><![CDATA[Reply to try funktioniert nicht on Sun, 12 May 2013 13:26:22 GMT]]></title><description><![CDATA[<p>Ja Du hast recht, ich habe den Thread in die falsche Abteilung gestellt.</p>
<p>Aber trotzdem danke für Deine Hilfe! <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/2322795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2322795</guid><dc:creator><![CDATA[Newling]]></dc:creator><pubDate>Sun, 12 May 2013 13:26:22 GMT</pubDate></item></channel></rss>