这个题在毕老师的视频里讲过,,要注意output是静态的,你问的应该是foo(1)怎么执行的吧,
执行完foo(0)后output的值是134,执行foo(1)的时候在try块里抛出异常,进入catch块,output 的值在原来的134后面加上2变成了1342,因为catch块有return语句应该跳出函数,但后面还有finally块,在跳出函数前还要执行finally中的语句,即再加上3变成13423,而后面 output+="4"; 不在finally块中因而不会执行.所以foo(1)执行后结果为13423 |