Here are mistakes you will make (or see others make) when handling exceptions:
Empty catch blocks. Writing catch (Exception e) { } silently swallows the error. The program continues in a broken state, and you have no idea why.
Catching Exception everywhere. This hides bugs by treating programming errors the same as expected failures. Catch specific types instead.
Using exceptions for control flow. Throwing and catching exceptions is slower than an if check. Do not use try-catch to test whether an array index exists.
Forgetting that finally overrides return. If both try and finally have a return, the one in finally wins. The value from try is discarded.