最佳答案
这是我的代码:
public void ReadSomeFile(string filePath)
{
if (!File.Exists(filePath))
throw new FileNotFoundException();
var stream = new FileStream(filePath, ....)
.....
}
我是否应该自己抛出异常(参见 File.Exists
检查) ?如果文件不存在,FileStream
将已经抛出 FileNotFoundException
。什么是良好的编程实践?代码分析表明我们应该验证我们的参数。但是如果我将这个参数直接传递给另一个方法(我的或其他人的代码) ,而该方法将抛出异常本身,那么在我的代码中验证参数有什么好处呢?