A method should solely catch an exception if it can handle it in some practical way.
Otherwise, pass it on up, in the belief that a process higher up the call stack can get a sense of it.
It's a healthy practice to have an unhandled exception handler (with logging) at the highest level of the call stack to assure that any fatal errors are logged.