System.exit(0) e System.exit(1 ) qual a diferença
Ae pessoal sempre que eu pego uns codigo java aqui para estudar tem uns que usam System.exit(0) outro System.exit(1) para encerrar a aplicação, queria saber se existe alguma diferença entre um modo de fazer e outro.
Obrigado.
Alex Florentino
Curtidas 0
Respostas
Edinei Manica
09/04/2009
[quote="ualex"]Ae pessoal sempre que eu pego uns codigo java aqui para estudar tem uns que usam System.exit(0) outro System.exit(1) para encerrar a aplicação, queria saber se existe alguma diferença entre um modo de fazer e outro.
Obrigado.
System.exit(1); é para quando vai sair do programa e deu um erro !
GOSTEI 0
Alex Florentino
09/04/2009
System.exit(1); é para quando vai sair do programa e deu um erro !
Hum interessante mas e dae ? desculpa minha ignorancia mas qual a diferença tipo então quando é
System.exit(0);
System.exit(1);
GOSTEI 0
Cleuber_s
09/04/2009
Independente do erro.
Quando ocorre algum durante o fechamento.
GOSTEI 0
Marcos Pereira
09/04/2009
[quote="ualex"]é quando deu erro. Mas tipo quando eu dou System.exit(1) ele cria um log em algum lugar ?
Das docs do metodo:
[list]Terminates the currently running Java Virtual Machine. The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.[/list]
Enviar erros quando um programa termina abruptamente envolve o tratamento de signal handlers para que o sistema operacional capture de que modo o programa terminou. É para isso que serve o codigo.
valeuz...
GOSTEI 0
Marcos Pereira
09/04/2009
Mais informações em [url=http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exit(int)]Runtime.exit(int)[/url].
valeuz...
GOSTEI 0
Alex Florentino
09/04/2009
ok. valeu vou da uma lida
GOSTEI 0
Marcos Pereira
09/04/2009
[quote="ualex"]ok. valeu vou da uma lida
A saída do seu programa pode ser capturada pelo sistema operacional afim de avaliar se este foi terminado de forma indevida.
Para saber a saída do último programa consulte no prompt de comando a varíavel ERRORLEVEL.
echo %errorlevel%
Um exemplo de uso:
Ex.: if ERRORLEVEL LEQ 0 goto normaly
:normaly
@echo O programa terminou com sucesso!
:!:
GOSTEI 0
Alex Florentino
09/04/2009
Olha que bacana com esse codigo vc consegue disparar uma thread quando um System.exit é acionado...
e não entendi muito bem. na hora que ele cria a classe interna.... Bom mas de qualquer forma fica registrado essa possibilidade.
ah achei nesse site :[url]http://javaalmanac.com/egs/java.lang/ExitHook.html[/url]
public class TesteDeSaida {
public static void main(String args[]) {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
System.out.println("Ola o System.exit foi acionado");
}
}
);
for(int i=0; i < 1000; i++) {
System.out.println("Ola estou aqui");
if(i == 10)
System.exit(0);
}
}
}
GOSTEI 0