解决方法
这是完整的段落:
The
finally
block always executes when thetry
block exits. This
ensures that thefinally
block is executed even if an unexpected
exception occurs. Butfinally
is useful for more than just exception
handling — it allows the programmer to avoid having cleanup code
accidentally bypassed by areturn
,continue
,orbreak
. Putting cleanup
code in afinally
block is always a good practice,even when no
exceptions are anticipated.Note: If the JVM exits while the
try
orcatch
code is being executed,then
thefinally
block may not execute. Likewise,if the thread executing
thetry
orcatch
code is interrupted or killed,thefinally
block may
not execute even though the application as a whole continues.
class Thread1 implements Runnable { @Override public void run() { try { Thread.sleep(10000); } catch (InterruptedException e) { e.printstacktrace(); } finally { System.out.println("finally executed"); } } }
…
t1.start(); t1.interrupt();
它打印 – 最后执行