我正在用C#编写一个例程,该例程使用File.ReadAllLines
函数从文本文件中读取行。代码如下:
private void ReadFromLibrary()
{
string[] ReadBuffer = new string[] { };
try
{
ReadBuffer = File.ReadAllLines("Library.txt");
}
catch (FileLoadException F)
{
MessageBoxButtons MB = MessageBoxButtons.OK;
MessageBoxIcon MI = MessageBoxIcon.Error;
MessageBox.Show(F.Message, "Error!", MB, MI);
}
}
我想看看发生FileLoadException
异常时此函数将如何运行。我不认为手动更改计算机的状态,因此发生此异常是一个好主意,我知道的唯一替代方法是从文件读取后插入throw new FileLoadException
。
是否还有其他方法可以获取相同的结果?我没有发现使用throw new
有什么问题,但是我想知道是否可以用其他方式做。
答案 0 :(得分:0)
如杰里米所说,
给类构造函数一个
IFile
接口参数。然后在一个单位 测试ReadFromLibrary
并模拟File.ReadAllLines
方法以抛出一个FileLoadException
,然后将模拟的IFile
传递给构造函数 调用ReadFromLibrary
方法。