Mam trzy klasy, powiedzmy, alfa, beta, gamma i każda z trzech klas ma metodę main
.Jak uruchomić kod po wywołaniu Sytem.exit (0) w końcu bloku
alfa- i klas beta mają, w ich metody main
, A try...catch...finally
blok jak:
public class alpha{
public static void main(String[] args){
try{
Do something;
}catch(Exception ex){
ex.printStackTrace();
}
finally{
System.exit(0);
}
}
}
public class beta{
public static void main(String[] args){
try{
Do something;
}catch(Exception ex){
ex.printStackTrace();
}
finally{
System.exit(0);
}
}
}
Teraz w klasie gamma zgłoszę główne metody klas alfa i beta do pracy ciągłej, jak poniżej
public gamma{
public static void main(String[] args) {
try {
alpha.main(arg);
beta.main(arg1);
} catch (Exception e) {
e.printStackTrace();
}
}
Problem polega na tym, że kod beta.main(arg1)
nigdy nie został osiągnięty z powodu bloku System.exit(0)
wewnątrz bloku klasy alpha klasy finally
. Ponieważ alfa i beta są samodzielnymi aplikacjami, gdy są wykonywane oddzielnie, powinny zakończyć usługę po zakończeniu programu. Więc teraz jest jakikolwiek sposób, aby dotrzeć do linii beta.main(arg1)
bez znacznej zmiany rzeczywistej funkcjonalności klas alfa i beta.
Uprzejmie proszę o kontakt, jeśli potrzebujesz więcej informacji. góry dzięki ...
możliwe duplikat [Zapobieganie System.exit() z API] (http://stackoverflow.com/questions/5401281/preventing-system -exit-from-api) – Mat