在实践中当然不太可能发生,但是: 是否任何原因导致此方法调用不终止JVM?
例如,是否可能在调用OutOfMemoryError
之后(或同时)调用System.exit(0)
时抛出StackOverflowError
或者在调用此方法时发生colorbar
,因为堆栈只是溢出在那一刻?
答案 0 :(得分:8)
答案 1 :(得分:1)
我无法在System.exit()
public static void main(String[] args)
{
try
{
main(args); // recursion
}
catch (StackOverflowError e1)
{
System.out.println("OK.");
}
try
{
System.exit(0);
}
catch (StackOverflowError e2)
{
System.out.println("HA!");
}
}
发生e1
后,println()
和exit()
仍然有效,就像堆栈上仍有一些空间一样。