gpt4 book ai didi

c# - 使用 streamreader 处理异常时遇到问题

转载 作者:可可西里 更新时间:2023-11-01 11:13:36 26 4
gpt4 key购买 nike

我在使用 StreamReader 时遇到了一些问题,我有一个保存设置的设置文件。我想以一种我也可以处理异常的方式打开和关闭文件。

当文件无法加载时我想暂时返回false。

我创建了一个为我加载文件的函数:

    private bool LoadSettingsFile(out StreamReader SettingsFile)
{
try
{
SettingsFile = new StreamReader("Settings.txt");
return true;
}
catch
{
//Going to solve the exception later, but if I can't I want to return false.
SettingsFile = new StreamReader(); //You need to assign StreamReader, but you need to open a file for that.
//'System.IO.StreamReader' does not contain a constructor that takes 0 arguments
return false;
}
}

我是这样调用函数的:

StreamReader SettingsFile;

if (!LoadSettingsFile(out SettingsFile))
return false;

如何避免或解决这个问题?

最佳答案

如果您无法打开文件,为什么要返回一个 StreamReader 实例?您肯定希望返回 null。此外,在您的异常处理中做一个包罗万象从来都不是一个好主意,要更具体,例如

private bool LoadSettingsFile(out StreamReader settingsFile)
{
try
{
settingsFile = new StreamReader("Settings.txt");
return true;
}
catch (IOException) // specifically handle any IOExceptions
{
settingsFile = null;
return false;
}
}

关于c# - 使用 streamreader 处理异常时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com