我试图了解我将如何在我的代码中使用 Throw。我有一个 MainForm 类来处理 Windows 窗体 GUI,然后我有一个 Manager 类来读取和保存文件中的数据。
我在两个课程中都使用 Try/Catch,但我的导师希望我在 Manager 课程中使用 Throw,尽管我正在阅读它,但我不明白它会做什么?Throw 会影响 MainForm 类中的 Try/Catch 吗?
如果捕获到异常,我也会在管理器类中使用消息框,但是根据讲师的说法,管理器中不允许有消息框,那我该怎么办?我可以只在 MainForm 类中使用消息框吗?对理解和扩展我的知识有一些帮助!谢谢!
MainForm 类:
try
{
motelManager.SaveToFile(file);
}
catch
{
MessageBox.Show("Ett fel uppstod!", "Varning!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
经理类:
public void SaveToFile(string filePath)
{
try
{
string newFilePath = filePath.Replace(".bin", "");
filestream = new FileStream(newFilePath + ".bin", FileMode.Create);
BinaryFormatter b = new BinaryFormatter();
b.Serialize(filestream, animals);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Varning!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
if (filestream != null) filestream.Close();
}