2012-05-01 10 views
5

Soy relativamente nuevo en Stackoverflow y Java, pero tengo un poco de experiencia en C. Me gustó la manera muy limpia de C de salir de los programas después de un mal funcionamiento con la función 'exit()'.saliendo de funciones en el principal

Encontré una función similar System.exit() en Java, lo que difiere de la función C y cuándo debería usar un 'System.exit()' mejor en lugar de un simple 'return' en Java como en un vacío ¿función principal?

Respuesta

5

System.exit() terminará la JVM initilized para este programa, donde return; sólo devuelve el control del método actual de vuelta a llamante


Vea también

+0

¿Eso es malo? Si la función principal falla, una terminación de la JVM está bien si se trata de un programa simple. –

+0

Sí debería estar bien con el programa normal, pero principalmente se usa donde queremos terminar la aplicación después de realizar todos los recursos adquiridos –

+0

sí, muchas gracias. –

1

System.exit() puede ser útil cuando esté listo para finalizar el programa a condición del usuario (es decir una aplicación GUI). return se usa para regresar al último punto en la ejecución del programa. Los dos son muy operaciones diferentes.

2

System.exit() saldrá del programa sin importar quién lo llame o por qué. return en el principal saldrá de main() pero no matará a nadie que lo haya llamado. Para programas simples, no hay diferencia. Si desea llamar a su principal desde otra función (que puede estar haciendo mediciones de rendimiento o manejo de errores), importa mucho. Su tercera opción es lanzar una excepción de tiempo de ejecución no detectada. Esto le permitirá salir del programa desde lo más profundo de la pila de llamadas, permitir que cualquier código externo que llame a su principal sea una forma programática de interceptar y manejar la salida, y al salir, brinde al usuario contexto de lo que salió mal y dónde (como opuesto a un estado de salida como 2).

Cuestiones relacionadas