源码
/** * Terminates the currently running Java Virtual Machine. The * argument serves as a status code; by convention, a nonzero status * code indicates abnormal termination. *
* This method calls the exit method in class *
Runtime. This method never returns normally. *
* The call
System.exit(n) is effectively equivalent to * the call: *
* Runtime.getRuntime().exit(n)
*
* * @param status exit status. * @throws SecurityException * if a security manager exists and its checkExit * method doesn't allow exit with the specified status. * @see java.lang.Runtime#exit(int) */ public static void exit(int status) { Runtime.getRuntime().exit(status); }
功 能: 关闭所有文件,终止正在执行的进程。
exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
测试方法:
// 测试方法
public static void main(String[] args) {
StackType stackType = new StackType();
try {
DATA3 data3 = stackType.PopST(stackType); // 此处调用了 exit 直接关闭了当前现成 之后方法都未执行
}catch (Exception ee){
System.out.printf("sss");
}
}
DATA3 PopST(StackType s){
if(s.top==0){
System.out.printf("栈为空!");
System.exit(0);
System.out.printf("关闭后"); //永远不会执行
}
return (s.data[s.top--]);
}
控制台输出
Connected to the target VM, address: '127.0.0.1:52564', transport: 'socket'
Disconnected from the target VM, address: '127.0.0.1:52564', transport: 'socket'
栈为空!
Process finished with exit code 0