I just had a pretty painful troubleshooting experience in troubleshooting some code that looked like this:
try { doSomeStuff() doMore() } finally {
I'd say a try block without a catch block is an anti-pattern. Saying "Don't have a finally without a catch" is a subset of "Don't have a try without a catch".