在捕获应用程序停止异常时,我应该使用System.exit(1)吗?

ins*_*sin 7 java exception-handling exception

说我有以下代码:

try {
    //Do something with File
} catch (FileNotFoundException e) {
    outputInfo("Error in IO Redirection", true);
    e.printStackTrace();
    System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)

我的程序在此catch位置之后立即退出,是一个单线程(一个主方法)程序,不应该期望从这样的异常中恢复.

真的应该用System.exit(1);吗?

dot*_*vav 5

如果您希望其他人运行您的程序,并且他们依赖过程状态代码来了解您的程序是成功还是失败,那么您应该使用 System.exit(1);

http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#exit%28int%29

终止当前运行的Java虚拟机.该参数用作状态代码; 按照惯例,非零状态代码表示异常终止.