Fórum System.exit(0) e System.exit(1 ) qual a diferença #565593

09/04/2009

0

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

Alex Florentino

Responder

Posts

09/04/2009

Edinei Manica

[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 !
Responder

Gostei + 0

09/04/2009

Alex Florentino

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 é
1
System.exit(0);
é um encerramento normal. e quando for
1
System.exit(1);
é quando deu erro. Mas tipo quando eu dou System.exit(1) ele cria um log em algum lugar ?
Responder

Gostei + 0

09/04/2009

Cleuber_s

Independente do erro. Quando ocorre algum durante o fechamento.
Responder

Gostei + 0

09/04/2009

Marcos Pereira

[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...
Responder

Gostei + 0

09/04/2009

Marcos Pereira

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...
Responder

Gostei + 0

09/04/2009

Alex Florentino

ok. valeu vou da uma lida
Responder

Gostei + 0

09/04/2009

Marcos Pereira

[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! :!:
Responder

Gostei + 0

09/04/2009

Alex Florentino

Olha que bacana com esse codigo vc consegue disparar uma thread quando um System.exit é acionado...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
        }
 
 
    }
 
}
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]
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar