我知道在try / catch / finally块中返回的头痛 – 即使try或catch块中的返回应该是执行的,finally中的返回总是返回方法的情况。 但是,是否也适用于System.exit()? 例如,如果我有一个try块: try { //Code System.exit(0) } catch (Exception ex) { //Log the exception } finally { System.exit(1) } 如果没有例外,哪个System.exit()将被调用? 如果出口是一个返回语句,那么System.exit(1)将始终(?)被调用。 但是,我不确定退出的行为是否与退货不同。 代码是在一个极端的情况下,即使不是不可能重现,也是非常困难的,所以我不能写一个unit testing。 我今天晚些时候会试着做一个实验,如果我有几分钟的空闲时间,但是我还是很好奇的,也许有人会知道答案,可以在之前提供,或者我无法运行实验。
我想知道以下在Java中的区别 System.exit(0); System.exit(-1); System.exit(1); 我什么时候需要适当地使用上面的代码?