令我惊讶和恐惧,我刚刚遇到了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)); } }