Exception is the replacement for the goto statement. It also gives you a complementary comefrom statement, something that goto seriously lacked.
Oh, btw:
try {
..
} catch (.... e) {
done = true;
} ... {
...
} finally {
done = false
}
Since finally blocks are run ALL THE TIME, the "done=true" statement will have NO effect whatsoever, as the finally statement sets it back to false.