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始终具有一个值。如果有任何问题,将抛出WebExceptiondocumentation of GetResponse()表示以下内容



因此,您也可以将catch子句扩展为webex.Response句柄。

09-29 20:31