original_docstring: Convenience function for evaluating argument `fn`.
docstring: Convenience function for evaluating argument `fn`.
docstring_tokens: Convenience function for evaluating argument ` fn ` .
code: def _try_call(fn, args, kwargs):
    """Convenience function for evaluating argument `fn`."""
    try:
      if fn is None:
        return args[0]
      try:
        return fn(*args, **kwargs)
      except TypeError:
        # Don't return from here or else we'll pick up a nested exception.
        # Seeing TypeError here isn't really an exception since it only means we
        # need to call `fn` differently).
        pass
      return fn(*args)
    except:
      print('------ EXCEPTION in {} ------'.format(_try_get_name(fn)))
      raise
code_tokens: def _try_call ( fn , args , kwargs ) : try : if fn is None : return args [ 0 ] try : return fn ( * args , ** kwargs ) except TypeError : pass return fn ( * args ) except : print ( '------ EXCEPTION in {} ------' . format ( _try_get_name ( fn ) ) ) raise
short_docstring: Convenience function for evaluating argument `fn`.
short_docstring_tokens: Convenience function for evaluating argument ` fn ` .
comment: """Convenience function for evaluating argument `fn`."""$SEP$# Don't return from here or else we'll pick up a nested exception.$SEP$# Seeing TypeError here isn't really an exception since it only means we$SEP$# need to call `fn` differently).