我正在使用一本教科书,其中一个答案就是测试'问题似乎对我不对。他们有以下代码示例:
while(true){
doStuff();
}
static void doStuff(){
for (int i = 10; i > 5; i++){
if(i > 100000){
break;
}
}
}
根据他们的说法,答案是
" F:程序将挂起而不会完成"
与
相反" C:可能抛出StackOverflowError"
我想我不明白为什么最终不会在这个无限循环中抛出StackOverflow错误?是因为我没有通过try / catch / throws将其标记为异常吗?如果我们在占用内存的for循环中创建变量会不会有所不同?还是我完全误解了?