Tôi có ba lớp nói alpha, beta, gamma và mỗi lớp trong số ba lớp này có phương thức main
.Làm thế nào để chạy mã sau khi gọi đến Sytem.exit (0) trong một khối cuối cùng
Cả alpha và lớp beta đã, bên trong phương pháp main
của họ, một khối try...catch...finally
như:
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);
}
}
}
Bây giờ trong lớp gamma tôi gọi các phương thức chính của lớp alpha và beta chạy liên tục như dưới đây
public gamma{
public static void main(String[] args) {
try {
alpha.main(arg);
beta.main(arg1);
} catch (Exception e) {
e.printStackTrace();
}
}
Sự cố là mã beta.main(arg1)
không bao giờ đạt được do số System.exit(0)
bên trong khối finally
của lớp alpha. Vì alpha và beta là các ứng dụng độc lập khi chúng được thực hiện riêng nên chúng phải chấm dứt dịch vụ ở cuối chương trình. Vì vậy, bây giờ điều này có bất kỳ cách nào để đạt được dòng beta.main(arg1)
mà không thay đổi nhiều chức năng thực tế của các lớp alpha và beta.
Vui lòng cho tôi biết nếu bạn cần thêm chi tiết. Cảm ơn trước ...
thể trùng lặp của [Ngăn chặn System.exit() từ API] (http://stackoverflow.com/questions/5401281/preventing-system -exit-from-api) – Mat