【发布时间】:2012-01-04 16:53:47
【问题描述】:
我有三个类,分别是 alpha、beta、gamma,这三个类中的每一个都有一个 main 方法。
alpha 和 beta 类在它们的 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);
}
}
}
现在在 gamma 类中,我调用 alpha 和 beta 类的主要方法来连续运行,如下所示
public gamma{
public static void main(String[] args) {
try {
alpha.main(arg);
beta.main(arg1);
} catch (Exception e) {
e.printStackTrace();
}
}
问题在于,由于 alpha 类的 finally 块内的 System.exit(0),永远无法到达代码 beta.main(arg1)。
由于 alpha 和 beta 在单独执行时是独立的应用程序,因此它们应该在程序结束时终止服务。
所以现在有任何方法可以到达beta.main(arg1) 行,而不会对 alpha 和 beta 类的实际功能进行太多更改。
如果您需要更多详细信息,请告诉我。 提前谢谢...
【问题讨论】:
标签: java