请原谅我这里的这类问题,但我一定会得到很好的解释与样品,这将使对java有更好的理解。Java - 异常处理和强制完全退出系统
当System.exit(0);
得到执行时,系统会中断执行流程并将其传出系统。这是我的理解是的,但现在我已经碰到一些事情来了,如同下面:
Example 1 :
class FinallySystemExit
{
public static void main(String args[])
{
try
{
int a=2/0;
System.exit(0);
}
catch(Exception e)
{
System.out.println("i am in catch block");
}
finally
{
System.out.println("finally");
}
}
}
我对上面的代码的理解是它不会打印从系统中任何东西,exit
但产量:
i am in catch block
finally
Example 2
class FinallySystemExit
{
public static void main(String args[])
{
try
{
int a=2/1;
System.exit(0);
}
catch(Exception e)
{
System.out.println("i am in catch block");
}
finally
{
System.out.println("finally");
}
}
}
当我执行上述代码it prints nothing
两个程序之间的差异是:
First Program :
int a=2/0;
和
Second Program :
int a=2/1;
我完全糊涂了,我的基本的了解这里被打破。
请问有人能解释一下原因。
由于
谢谢你们,我现在明白了。 – SAR