Resharper发出警告
为线
在以下代码中(删除了详细的异常处理)。
Stream replyStream;
string reply;
var query = _serverBaseUrl + queryText;
var wreq = WebRequest.Create(query);
wreq.Timeout = _serverTimeoutLimit;
try
{
replyStream = wreq.GetResponse().GetResponseStream();
var strmR = new StreamReader(replyStream);
reply = strmR.ReadLine();
}
catch (WebException webex)
{
switch (webex.Status)
{
/*throw new exceptions*/
}
}
replyStream.Close();
return reply;
我的想法是我不需要检查ReplyStream是否为null,因为如果发生任何错误,应该已经引发了WebException(或未处理的异常)(然后我将处理并引发新的自定义异常)。
如果没有引发WebException,replyStream是否可能为null?
最佳答案
replyStream
不能是null
。如果GetResponse()
成功,则GetResponseStream
始终具有一个值。如果有任何问题,将抛出WebException
。 documentation of GetResponse()表示以下内容
因此,您也可以将catch
子句扩展为webex.Response
句柄。