抛出异常时退出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)
}

谢谢!我已经适应了环境。退出:)