return fn() or default value (in case of exception)