嘿,如果我有这个例外:
try
{
List<string> inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
如何在try语句之外访问inputFileLines?
答案 0 :(得分:0)
List<string> inputFileLines = null;
try
{
inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
//now you can access inputFileLines outside of 'try' and check if it is null or not.
答案 1 :(得分:0)
如何在try语句之外访问inputFileLines?
您当前的作用域在try
块(块作用域)内,并且只能在其中访问...
try
{
List<string> inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
如果您要在try
之外访问它,则需要将其范围(方法范围)移到外部(如前所述)。
List<string> inputFileLines = null;
try
{
inputFileLines = GetInputFileFormatted(mailFile);
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
}
按评论编辑(基于我问过的问题)
如果inputFileLines为null,您打算如何处理?
您的答复是:
多数民众赞成在那件事,我希望该程序只是停止如果它为空?但是怎么 我这样做
我问这的原因是,如果要退出应用程序,您不需要对其进行声明。查找Application.Exit方法,该方法通知所有消息泵它们必须终止,然后在处理完消息后关闭所有应用程序窗口。
try
{
List<string> inputFileLines = GetInputFileFormatted(mailFile);
if(inputFileLines == null)
System.Windows.Forms.Application.Exit();
}
catch (FileNotFoundException ex)
{
Console.WriteLine("File not found");
System.Windows.Forms.Application.Exit();
}
现在,如果该列表为空或引发异常,它将退出应用程序。
恕我直言,请登录scope of variables,以更好地了解它们的访问方式。
参考:
Application.Exit方法https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.application.exit?view=netframework-4.8