Рассмотрим следующий фрагмент кода:Исключение сбоя при удалении результата?
public static Stream OpenWavStream(string path)
{
var stream = new FileStream(path, FileMode.Open);
try
{
stream.Seek(44, SeekOrigin.Current);
}
catch (Exception)
{
stream.Dispose();
throw;
}
return stream;
}
Я открывающий поток WAV, данные которого всегда начинается с 44. Если смещение стремится к тому, что смещение не может, поток расположен, в противном случае он возвращается. Учитывая, что catch (Exception) is considered bad practice, уместно ли в этом случае?
Следует ли скорее исследовать конкретные исключения (даже если поток должен быть удален, если в вызове Stream.Seek происходит какое-либо исключение) или переместить его в блок finally?
еще раз прочтите документацию msdn. В ней объясняется, как вы не должны ловить общие исключения. – MethodMan