C#异常未被处理

时间:2015-03-28 18:32:44

标签: c# debugging error-handling

通过浏览器调用以下代码,如果发生异常,则“Try Catch”永远不会捕获异常,而是向屏幕报告异常。我试过没有调试运行以及关闭CLR错误。任何建议将不胜感激:

   public string GetUrl(string url)
    /*Grab remote page */
    {

        string target = string.Empty;
        HttpWebRequest httpWebRequest = null;
        HttpWebResponse response = null;
        StreamReader streamReader = null;
        try
        {

        httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
        response = (HttpWebResponse)httpWebRequest.GetResponse();

       streamReader = new StreamReader(response.GetResponseStream(), true);

                target = streamReader.ReadToEnd();



        }
        catch (WebException e)
        {
            Console.WriteLine("Error:GetUrl()");
            Console.WriteLine("\n{0}", e.Message);
            Console.WriteLine("\n{0}", e.Status);
        } 
        finally
        {
            streamReader.Close();
                response.Close();

        }

        return target;


    }

2 个答案:

答案 0 :(得分:1)

您只是捕获webexceptions,没有捕获任何其他异常。

可以抛出更多例外情况,请点击此处:

https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.110%29.aspx

答案 1 :(得分:0)

在finally块和陷阱基础异常之前再添加一个catch块。它将捕获发生的所有类型的错误,而不是在早期的catch块中捕获。