Autor Beitrag
Dariusz
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 10.01.10 21:17 
Moin!

Ich wollte in Visual C# 2008 Express eine Methode schreiben, die eine Internetseite aufruft und als String abspeichert, falls es sie gibt, andernfalls sollte der Wert ,,NULL'' zurückgegeben werden.

Dazu hatte ich folgenden Code geschrieben:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
        private static string GetWebPage(string page)
        {
            string data;
            try
            {
                HttpWebRequest site = (HttpWebRequest)WebRequest.Create(page);
                HttpWebResponse response = (HttpWebResponse)site.GetResponse();
                Stream dataStream = response.GetResponseStream();
                StreamReader read = new StreamReader(dataStream);
                data = read.ReadToEnd();
            }
            catch(System.Net.WebException)
            {
                data = "NULL";
                throw;
            }
            return data;
        }


Doch bei einer nicht vorhandenen Internetseite spuckt Visual Studio folgende Fehlemldung aus und beendet das Debugging.

Zitat:
System.Net.WebException wurde nicht behandelt.
Message="Der Remotename konnte nicht aufgelöst werden: '###############'"
Source="System"
StackTrace:
bei System.Net.HttpWebRequest.GetResponse()
bei RL_Prüfer.Program.GetWebPage(String page) in C:\Users\Dariusz\Documents\Visual Studio 2008\Projects\RL-Prüfer\RL-Prüfer\Program.cs:Zeile 67.
bei RL_Prüfer.Program.Main(String[] args) in C:\Users\Dariusz\Documents\Visual Studio 2008\Projects\RL-Prüfer\RL-Prüfer\Program.cs:Zeile 36.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:


Irgendeine Idee wo der Fehler liegt?
Danke!
Dariusz
Flitzs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123
Erhaltene Danke: 7

Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
BeitragVerfasst: So 10.01.10 22:30 
Hi,

dadurch, dass du mit dem throw; im catch-block die Exception an den nächsthöheren Handler weitergibst, wird die Exception trotzdem von der Runtime behandelt.

mfg Flitzs

EDIT: Weiteres findest du hier: msdn.microsoft.com/d...5esw%28VS.80%29.aspx
Dariusz Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 10.01.10 23:17 
Besten Dank! Es funktioniert! *freu*