抛出异常时退出C#控制台应用程序
我的代码从文件中读取文本。 我需要添加一个方法,如果文件不在正确的位置,程序将退出抛出异常时退出C#控制台应用程序,c#,C#,我的代码从文件中读取文本。 我需要添加一个方法,如果文件不在正确的位置,程序将退出 try { TextReader tr = new StreamReader("C:\\textfile.txt"); for (int i = 0; i < 4; i++) { ListLines[i] = tr.ReadLine(); } } catch (Exception e) { Consol
try {
TextReader tr = new StreamReader("C:\\textfile.txt");
for (int i = 0; i < 4; i++)
{
ListLines[i] = tr.ReadLine();
}
}
catch (Exception e)
{
Console.WriteLine("File not found - the app will now exit");
}
试试看{
TextReader tr=新的StreamReader(“C:\\textfile.txt”);
对于(int i=0;i<4;i++)
{
ListLines[i]=tr.ReadLine();
}
}
捕获(例外e)
{
WriteLine(“未找到文件-应用程序现在将退出”);
}
有可能吗?我应该使用什么命令?我想到三个选项 首先,您可以将代码构造为从
Main
方法返回。除非您运行了其他(非后台)线程,否则应用程序将终止
或者,您可以只重新显示异常,例如使用throw
;-这将在之后将堆栈跟踪转储到控制台,这可能是您想要的,也可能不是您想要的
最后,您可以使用将终止进程的。例如:
using System;
class Test
{
public static void Main (string[] args)
{
Console.WriteLine("Before");
Environment.Exit(1);
Console.WriteLine("After");
}
}
在这里,将打印之前的
,但不会打印
之后的。您可以使用环境。退出(0);和应用程序。退出
try {
TextReader tr = new StreamReader("C:\\textfile.txt");
for (int i = 0; i < 4; i++)
{
ListLines[i] = tr.ReadLine();
}
}
catch (Exception e)
{
Environment.Exit(0)
}
试试看{
TextReader tr=新的StreamReader(“C:\\textfile.txt”);
对于(int i=0;i<4;i++)
{
ListLines[i]=tr.ReadLine();
}
}
捕获(例外e)
{
环境。退出(0)
}
谢谢!我已经适应了环境。退出:)