除了“throw new”之外,还有其他方法可以查看程序在发生异常时的行为吗?

Is there any other way to see a program's behavior when an exception occurs beside `throw new`?

我正在用 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 有什么问题,但我想知道我是否可以用另一种方式来做。

正如杰里米所说,

Give the class constructor a IFile interface argument. Then in a Unit Test on ReadFromLibrary mock the File.ReadAllLines method to throw a FileLoadException and pass the mocked IFile to the constructor before calling the ReadFromLibrary method.