因为badMethod()方法写的是throw new Error();啊.程序运行到badMethod()方法是,就抛出一个Error,只要抛出一个Error,程序就不会再执行try块中后面的代码,而是直接跳到catch块和finally块中.但是你的catch块是catch的Exception,而不是Error,所以你的badMethod()执行后,不会跳到catch块中,而是直接跳到finally块中,finally块的代码执行完后,程序就直接返回(如果你的catch块不是catch的Exception,而是catch的Error,那么会先执行catch块的代码,接着执行finally块的代码,最后程序不会结束,而是执行finally块后面的代码.),希望对你有所帮助. |