¿Cómo salir de una aplicación Dart incondicionalmente?

El método exit() sale del programa actual al finalizar la ejecución de Dart VM. Este método toma un código de estado. Un valor distinto de cero del código de estado se usa generalmente para indicar una terminación anormal. Esta es una salida similar en C/C++ , Java . Este método no espera a que finalice ninguna operación asincrónica.

Syntax: exit(exit_code);

Para usar este método tenemos que importar el paquete. El manejo de los códigos de salida es específico de la plataforma.

  • En Linux y OS , un código de salida para la terminación normal siempre estará en el rango de 0 a 255. Si se establece un código de salida fuera de este rango, el código de salida real serán los 8 bits inferiores enmascarados y tratados como un valor sin firmar. Por ejemplo, el uso de un código de salida de -1 dará como resultado que se informe un código de salida real de 255.
  • En Windows , el código de salida se puede establecer en cualquier valor de 32 bits. Sin embargo, algunos de estos valores están reservados para informar errores del sistema, como bloqueos. Además de esto, el ejecutable de Dart utiliza un código de salida 254 para informar errores en tiempo de compilación y un código de salida 255 para informar errores en tiempo de ejecución (excepción no controlada). Debido a estos hechos, se recomienda usar solo códigos de salida en el rango de 0 a 127 para comunicar el resultado de ejecutar un programa Dart al entorno circundante. Esto evitará cualquier problema multiplataforma.

Nota: La salida (0) generalmente se usa para indicar una finalización exitosa, mientras que el resto generalmente indica una finalización fallida.

La implementación del método exit() es como:

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);
}

Ejemplo: Usar el método exit() para salir del programa abruptamente.

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");
}

Producción:

Hello GeeksForGeeks

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *