一、前言
当重新启动项目的时候,需要把用户一些状态回退,但是回退失败了,项目却没有停止,可以用System.exit(1); 来使项目停止。
二、效果展示
为了实现这个效果,我们就简单模拟,代码也比较简单,也有注释,就不过多说辞了。直接看代码和效果图吧!~
项目启动,初始化用户状态成功效果图
项目启动,初始化用户状态失败效果图
三、完整代码
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Demo { public static void main(String[] args) { System.out.println("南方者-掘金的测试项目启动"); System.out.println("初始化MySQL数据"); System.out.println("用户状态回退"); String userName = "用户"; String statusName = "状态"; try { // 假设这是用户列表,一个map对应一个用户 List<Map<String, String>> userStatusList = new ArrayList<Map<String, String>>(); for (int i = 1; i < 6; i++) { // 一个map对应一个用户,key:用户;value:用户状态 Map<String, String> userMap = new HashMap<String, String>(); userMap.put(userName + i, statusName + i); userStatusList.add(userMap); } for (int i = 0; i < 5; i++) { userStatusList.get(i).put(userName + i, statusName + 0); throw new Exception("抛出异常"); // 抛出异常(假装过程中出现异常) } System.out.println(userStatusList); System.out.println("状态回退成功"); System.out.println("南方者 - 掘金 https://juejin.cn/user/2840793779295133"); } catch (Exception e) { e.printStackTrace(); System.out.println("状态回退异常,初始化失败,项目已停止"); System.out.println("南方者 - 掘金 https://juejin.cn/user/2840793779295133"); System.exit(1); } } }
四、额外小知识 System.exit(0);和System.exit(1)、System.exit(2)、...System.exit(n)的区别
System.exit(0) 是正常退出程序.
System.exit(1)、System.exit(2)、...System.exit(n) 都是非0情况,其实就是表示非正常退出程序.
其实实际效果是没有区别的
在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0),而System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。(摘抄来源:# System.exit(0)和System.exit(1)区别)
文章小尾巴
文章写作、模板、文章小尾巴可参考:《写作“小心思”》
感谢你看到最后,最后再说两点~
①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
(文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)