System.exit有点狠,没事别乱用...

有钱花

公司项目做了一些修改,想在启动时检查一个参数,如果没有那么停止启动。

我首先想到的就是 System.exit,试了一下果然可以。但是有个问题:启动是停止了,但是idea点击重启tomcat居然没反应,必须先stop tomcat后再次启动。而且stop时还报错了,说tomcat没在运行!我查了一下,System.exit会把当前虚拟机实例给终止了,所以连tomcat也一块完蛋,这也太狠了!


所以后来我改成抛出一个错误了,抛出之后tomcat启动运行到此处后即终止当前项目,并且还可以打印栈轨迹。

网上找到一篇 System.exit 的大坑,http://liuqzan.iteye.com/blog/781682,使用这个语句调试起来真是要命啊。

主 楼 发布于:2018-11-22 16:03:32回复
旅行者

另外catch(Error e)后面是不能带finally的,也不会被执行到

2 楼 发布于:2018-11-22 16:37:28
回复
阀门一百

你长得很有创意,活着是你的勇气。丑并非你本意,只是上帝发了点脾气。你要勇敢地活下去,没了你,谁能衬托这世界的美丽

3 楼 发布于:2019-01-04 17:27:24
回复
我要逆袭

愿你一切的疲惫与不快都化为云烟随着清风而逝;愿你内心的静谧与惬意伴着我的祝福悄然而至。

4 楼 发布于:2019-02-08 23:04:03
回复
口口声声说爱我

神马都是浮云

5 楼 发布于:2022-06-13 05:50:21
回复

发表回复: