我没有得到异常但是当使用断点时我在流上看到异常我该如何解决它?

时间:2016-08-29 21:37:06

标签: c# .net winforms

async Task<Image> GetImageAsync(string url)
        {
            try
            {
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";

                //On worker thread
                var response = await request.GetResponseAsync() as HttpWebResponse;

                //Back on calling thread
                var responseStream = GetCompressedStream(response);
                if (responseStream != null)
                    return Image.FromStream(responseStream);
            }
            catch(Exception eee)
            {
                string myerropr = eee.ToString();
            }

            return null;
        }

private static Stream GetCompressedStream(HttpWebResponse response)
    {
        try
        {
            var stream = response.GetResponseStream();

            if (response.ContentEncoding.ToLower().Contains("gzip"))
                return new GZipStream(stream, CompressionMode.Decompress);
            else if (response.ContentEncoding.ToLower().Contains("deflate"))
                return new DeflateStream(stream, CompressionMode.Decompress);
        }
        catch(EndOfStreamException ee)
        {
            string myer = ee.ToString();
        }
        return null;
    }

当我使用断点时在var流上我看到了长度:

  

Length ='stream.Length'抛出了类型的异常   的 'System.NotSupportedException'

位置上的相同例外。

然后最后两个方法都返回null。

我只能在使用断点时才能看到例外情况。

1 个答案:

答案 0 :(得分:0)

我建议您阅读有关thisNotSupportedException文章。

在你的情况下,异常只在内部发生(你只能在调试时看到它们),所以你真的不需要担心它们。