Esempio n. 1
0
 def from_call(f: Callable[..., A], *args, **kwargs):
     exc = kwargs.pop('exc', Exception)
     try:
         return Maybe.check(f(*args, **kwargs))
     except exc:
         if exc == Exception:
             from amino.logging import log
             frame = inspect.currentframe().f_back  # type: ignore
             stack = traceback.format_stack(frame)
             log.exception('Maybe.from_call:')
             log.error(''.join(stack))
         return Nothing
Esempio n. 2
0
 def s() -> str:
     try:
         return format_funcall(f, Lists.wrap(a), kw)
     except Exception as e:
         return str(f)
         log.error(str(e))
Esempio n. 3
0
 def run() -> None:
     try:
         f(*a, **kw).attempt.lmap(
             lambda a: log.error(f'forked IO failed: {a}'))
     except Exception as e:
         log.caught_exception_error(f'running forked IO', e)