Obviously I'm being terse for argument.
You can easily imagine
InvokeWithErrorLogger(fn, fnparam, log)
or InvokeWithErrorAnnotator(fn, fnparam, annotatorFn)
Or any other common error-handling pattern.