C# 为什么在使用不存在的uri调用webrequest.create时,对象未设置为instance

C# 为什么在使用不存在的uri调用webrequest.create时,对象未设置为instance,c#,forms,C#,Forms,我正在测试我正在创建的浏览器, 如果我向webrequest发送一个存在的uri,则所有内容都将被查找, 但当我发送一个不存在的uri时,我得到一个未设置为实例的对象 这样的 我希望该方法抛出NotFound异常。下面是方法调用 String stream = await Task.Run(() => web.Navigate("http://www.yahoo2gh.com")); 这是做这项工作的方法 public async Task<String> Navigate(

我正在测试我正在创建的浏览器, 如果我向webrequest发送一个存在的uri,则所有内容都将被查找, 但当我发送一个不存在的uri时,我得到一个未设置为实例的对象 这样的

我希望该方法抛出NotFound异常。下面是方法调用

String stream = await Task.Run(() => web.Navigate("http://www.yahoo2gh.com"));
这是做这项工作的方法

public async Task<String> Navigate(string uri)
{

 HttpWebRequest request =(HttpWebRequest)WebRequest.Create(uri);
 try
 {
     using (WebResponse response = request.GetResponse())
     {
         HttpWebResponse httpResponse = (HttpWebResponse)response;
         //Set StatusCode
         StatusCode = httpResponse.StatusCode.ToString();
         //Create Stream
         Stream responseStream = response.GetResponseStream();
         StreamReader reader = new StreamReader(responseStream);

         return reader.ReadToEnd();

     }

 }
 catch (WebException exception)
 {
     using (HttpWebResponse response = (HttpWebResponse)exception.Response)
     {
         // HttpWebResponse httpResponse = (HttpWebResponse)response;
         StatusCodeInteger = (int)response.StatusCode;

         //return httpResponse;
         return "empty";// response.StatusCode.ToString();
     }

 }
}

您是否尝试调试并查看哪一行给出了错误?或者查看堆栈跟踪?