Вот мой код:
public void ReadSomeFile(string filePath)
{
if (!File.Exists(filePath))
throw new FileNotFoundException();
var stream = new FileStream(filePath, ....)
.....
}
Должен ли я сам исключить исключение (см. проверку File.Exists
)? FileStream
уже будет бросать FileNotFoundException
, если файл не существует. Что такое хорошая практика программирования здесь? Анализ кода говорит, что мы должны проверить наши параметры. Но если я передаю этот параметр непосредственно другому методу (мой или чужой код), и этот метод будет генерировать исключение, то в чем преимущество проверки аргумента в моем коде?