try_call

emmet.builders.utils.try_call(fn, /, *args, _default=None, _safe=True, **kwargs)

Attempt to call a function, returning a _default value if an exception is raised.

Return type:

Union[TypeVar(T), TypeVar(S), None]

Parameters:
  • fn (Callable[[...], T])

  • args (Any)

  • _default (S | None)

  • _safe (bool)

  • kwargs (Any)

Args:

fn: The function to call. *args: Positional arguments to forward to fn. _default: The value to return if fn raises an exception.

Defaults to None.

_safe: Override behavior of try_call — propagate exceptions when

fn raises. Useful for debugging.

**kwargs: Keyword arguments to forward to fn.

Returns:

The return value of fn(*args, **kwargs) if successful, otherwise _default.