Yes, an empty `catch` has effects. It is used to ignore any thrown errors. But `try { f(); } finally {}` should always be replaced by just `f();`.