在Java中如何阻止使用System.exit(0)退出应用?

在某些特殊的情况,可能需要阻止System.exit(int)的调用,比如说防止某些依赖的第三方库调用这个API导致整个应用都退出。

javaexitSecurityManager
1
196
小课
小课2022-06-09 23:04
1 个回答

使用SecurityManager可以在调用System.exit(int)之前进行检查,如果不满足可以抛出异常来防止应用退出。

加载中...

如果程序中调用了System.exit(int),就会执行到MySecurityManager.checkExit(int)方法,在这里可以进行一些判断,如果不符合退出条件就抛出SecurityException异常,这样在System.exit(int)的调用处就会接收到SecurityException异常,而不是退出应用。

1
小课
小课2022-06-09 23:27
你的回答

内容