System.Exit(0) en C#?

22/11/2003 - 10:59 por santi | Informe spam
Hola,

¿como se hace en C# para finalizar la aplicación?
Tengo un programa que al arrancar comprueba si hay conexión con la base de
datos y si no la tiene quiero que muestre un mensaje y se cierre.

saludos

Preguntas similare

Leer las respuestas

#6 Jason De Freites
22/11/2003 - 21:25 | Informe spam
Saludos..

Tambien puedes capturar la excepcion que te envia cuando no se puede
conectar a la BD y luego le das el Application.Exit();

Ejemplo..

Try{
//Codigo para conectar te a la base de datos.
}
catch(Exception ex){
//Aqui tambien puedes desplegar el error que desees.
Application.Exit();
}

busca mas sobre las excepciones de Clase que estas usando para la coneccion
a la base de datos.

Espero que te funcione.

"santi" escribió en el mensaje
news:bpnus7$a4r$
Sí, yo tampoco entendo a que te refieres con utilizar el método Main,
Tristan.

Por cierto, buscando he dado con un sistema que sí funciona:

Environment.Exit(int error);

¿Sabeis porque será que esto funcione y en cambio Application.Exit() y
form.Close() no?
gracias!



Respuesta Responder a este mensaje
#7 Tristan
23/11/2003 - 02:54 | Informe spam
Me parece que había entendido mal la pregunta. Creía que querías saber como
salir devolviendo el código de estado de tu programa.

Pero para el caso da igual, sigue siendo posible utilizar el método Main.
Como no necesitas retorno, puedes usar el Main() que tendrás ya en tu
aplicación.

Solo tienes que modificar el Main() de tu form principal.

[STAThread]
static void Main()
{
si hay conexión con la base de datos
Application.Run(new Form1());
else
mostrar mensaje de error
}

Al salir de Main() sin ejecutar Application.Run(), el programa termina
incluso sin cargar el formulario.

Lo que intuyo por lo que estás diciendo es que después de Application.Exit o
this.Close(), tienes código, ¿puede ser?. Como ambos procesan los mensajes
pendientes, puedes llegar a una situación que produzca un bucle de mensajes.
Por si tienes curiosidad, prueba a añadir un return después de cualquiera de
las dos para ver si se soluciona el problema.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida