📜  如何无条件退出Dart应用程序?

📅  最后修改于: 2021-09-02 05:18:24             🧑  作者: Mango

exit() 方法通过终止正在运行的Dart VM 来退出当前程序。这个方法需要一个状态码。状态码的非零值通常用于指示异常终止。这是C/C++Java的类似退出。此方法不等待任何异步操作终止。

Syntax: exit(exit_code);

要使用这种方法,我们必须导入‘ dart:io’包。退出代码的处理是特定于平台的。

  • 在 Linux 和 OS 上,正常终止的退出代码将始终在 0 到 255 的范围内。如果设置了此范围之外的退出代码,则实际退出代码将被屏蔽的低 8 位并视为无符号值。例如,使用 -1 的退出代码将导致报告的实际退出代码为 255。
  • 在 Windows 上,退出代码可以设置为任何 32 位值。但是,其中一些值保留用于报告系统错误,例如崩溃。除此之外, Dart可执行文件本身使用退出代码 254 来报告编译时错误,使用退出代码 255 来报告运行时错误(未处理的异常)。由于这些事实,建议仅使用 0 到 127 范围内的退出代码来将运行Dart程序的结果传达给周围环境。这将避免任何跨平台问题。

注意: exit(0)一般用来表示成功终止,而rest 一般用来表示不成功终止。

exit() 方法的实现如下:

void exit(int code) {
  ArgumentError.checkNotNull(code, "code");
  if (!_EmbedderConfig._mayExit) {
    throw new UnsupportedError(
        "This embedder disallows calling dart:io's exit()");
  }
  _ProcessUtils._exit(code);
}

示例:使用 exit() 方法突然退出程序。

Dart
// Importing the packages
import 'dart:io';
  
// Main Function
void main() {
    
  // This will be printed
  print("Hello GeeksForGeeks"); 
    
  // Standard out code
  exit(0); 
    
  // This will not be printed
  print("Good Bye GeeksForGeeks");
}


输出:

Hello GeeksForGeeks