java puzzlers

《java puzzlers》第36题

在一个 try-finally语句中,finally语句块总是在控制权离开try语句块时执行的[JLS 14.20.2]。无论try语句块是正常结束的,还是意外结束的,情况都是如此。
一条语句或一个语句块在它抛出了一个异常,或者对某个封闭型语句执行了一个 break 或continue,或是象这个程序一样在方法中执行了一个return时,将发生意外结束。它们之所以被称为意外结束,是因为它们阻止程序去按顺序执行下面的语句。

在这个程序中,在try语句块中的 return 语句所引发的意外结束将被丢弃,而try-finally语句意外结束是由finally语句块中的return造成的。

你可能感兴趣的:(java)