Java中满足if条件后如何终止后续代码及if语句链的执行
解决方法
要满足触发错误提示后直接终止程序的需求,有两种常用实现方式:
1. 调用System.exit()直接终止虚拟机
这是最符合你需求的方式,调用后会直接终止当前Java程序,后续所有代码都不会执行,参数传非0值一般表示程序异常退出。
你需要先给if分支加上花括号,把错误打印和终止逻辑都包裹进分支内,修改后代码如下:
public static void main(String[] args){ int num = Integer.valueOf(args[0]); int bigN; String answer; if (num >= 0) { System.out.println("error"); // 触发错误直接终止程序 System.exit(1); } bigN = num * 20; if (bigN >= 80) { answer = "something"; } else { System.out.println("args[0] is " + answer); } }
2. 用return结束main方法执行
如果你后续需要加资源释放等收尾逻辑,可以用return语句结束main方法的运行,效果同样是终止程序:
if (num >= 0) { System.out.println("error"); // 可在此处添加资源释放等收尾逻辑 return; }
注意:原示例的if语句没有加花括号,默认只有紧随if的第一行代码属于if分支,必须添加花括号把错误逻辑和终止逻辑都纳入分支,否则终止逻辑会无条件执行,导致正常流程也无法运行。
内容的提问来源于stack exchange,提问作者Cotton Headed Ninnymuggins
相关产品推荐
相关产品推荐

