令我惊讶和恐惧的是,我刚刚在我使用的库中遇到了 System.exit(1);
行。我正计划联系库的作者并询问有什么帮助,但同时有什么方法可以防止库杀死我的代码(更糟糕的是,使用我的代码杀死应用程序)?
也许以某种方式强制库抛出 SecurityException
,我看到 exit(int)
可能会抛出?
最佳答案
我只知道一种方法,那就是编写一个不允许使用 System.exit 的 SecurityManager
。
public class MySecurityMgr extends SecurityManager {
...
@Override
public void checkExit(int status) {
throw new RuntimeException(Integer.toString(status));
}
}
关于java - 捕获库的退出指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864962/