java - 捕获库的退出指令

标签 java exit

令我惊讶和恐惧的是,我刚刚在我使用的库中遇到了 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/

相关文章:

Java泛型将字节数组转换为字符串(非十六进制,十进制)

java - JUnit - 阻止它在完成时退出?

c - 使用 exit() 而不是 fcloseall() 来关闭多个文件好吗?

c - 停止线程池运行的好方法是什么?

java - 在 SSL 上运行嵌入式 jetty 的问题

java 从另一个对象的某个方面命名一个对象

java - JSwing简单按钮/JFXPanel布局

java - Tomcat 在关闭 jar 时关闭

python - 如何防止嵌入式 python 退出()我的进程

java - 一项 Activity ,多项内容