2009-10-27 17 views
8

Biorąc pod uwagę poniżej klasy,Ignoruj ​​System.exit() z drugiej klasy

public class ClassOne { 
    public static void main(String... args) { 
     System.exit(1); 
    } 
} 

następujące klasy zostaną zniszczone, jak również, przy założeniu, że istnieją inne rzeczy do zrobienia po ClassOne.main jest wywoływany.

public class ClassTwo { 
    public static void main(String... args) { 
     ClassOne.main(args); 
     Thread.sleep(30000); 
    } 
} 

Czy istnieje sposób, aby zignorować System.exit (1); ClassOne w inwokacji ClassTwo?

+0

możliwy duplikat [Java: Jak przetestować metody, które wywołują System.exit()?] (Http://stackoverflow.com/questions/309396/java-how-to-test-methods-that-call-system -exit) –

Odpowiedz

13

Nie można tego zignorować per se, ale można uniemożliwić jej przerwanie JVM za pomocą programu SecurityManager. Aby zobaczyć przykładowy kod, spójrz na this question.

+0

Dzięki za odnoszenie się do tych fajnych rzeczy. +1 –

+0

Dzięki człowieku, zaoszczędziło mi to wiele czasu. – Joset

+0

Przepraszam, ale co to jest _se_ ("Nie można tego zignorować na _e_")? –

Powiązane problemy