相关疑难解决方法(0)

使用try catch返回yield,我该如何解决它

我有一段代码:

using (StreamReader stream = new StreamReader(file.OpenRead(), Encoding))
{
    char[] buffer = new char[chunksize];
    while (stream.Peek() >= 0)
    {
       int readCount = stream.Read(buffer, 0, chunksize);

       yield return new string(buffer, 0, readCount);
    }
 }
Run Code Online (Sandbox Code Playgroud)

现在我必须使用try-catch块来包围它

try
{
   using (StreamReader stream = new StreamReader(file.OpenRead(), Encoding))
   {
       char[] buffer = new char[chunksize];
       while (stream.Peek() >= 0)
       {
          int readCount = stream.Read(buffer, 0, chunksize);

          yield return new string(buffer, 0, readCount);
       }
    } 
}
catch (Exception ex)
{
    throw ExceptionMapper.Map(ex, file.FullName)
}
Run Code Online (Sandbox Code Playgroud)

我看不出有什么方法可以做我想做的事.

编辑 该方法具有签名 …

c# try-catch yield-return .net-3.5

21
推荐指数
5
解决办法
3万
查看次数

标签 统计

.net-3.5 ×1

c# ×1

try-catch ×1

yield-return ×1