У меня есть три класса: alpha, beta, gamma, и каждый из трех классов имеет основной
метод.
И альфа-, и бета-классы имеют внутри своего метода main
блок try ... catch ... finally
, например:
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);
}
}
}
Теперь в гамма-классе я вызываю main методы альфа- и бета-классов должны работать непрерывно, как показано ниже
public gamma{
public static void main(String[] args) {
try {
alpha.main(arg);
beta.main(arg1);
} catch (Exception e) {
e.printStackTrace();
}
}
Проблема в том, что код beta.main (arg1)
никогда не достигается из-за System.exit (0)
внутри блока альфа-класса finally
.
Поскольку альфа- и бета-версии являются автономными приложениями, когда они выполняются отдельно, они должны прекратить работу службы в конце программы.
Так что теперь есть способ добраться до строки beta.main (arg1)
без значительного изменения фактической функциональности классов альфа и бета.
Пожалуйста, дайте мне знать, если вам понадобятся дополнительные подробности. Заранее благодарим ...