У меня есть код:
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);
}
}
Теперь мне нужно окружить это блоком 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)
}
Я не вижу никакого способа делать то, что хочу.
ИЗМЕНИТЬ Метод имеет подпись
public IEnumerable<string> ReadPieces(int pieces)
Мне нужен try catch
с вызовом ExceptionMapper
в случае catch
.
Этот метод используется отложенным всеми вызывающими абонентами.
Исключения, которые я должен уловить, исходят из этих вызовов
File.OpenRead()
stream.Read()