Do not propagate computed exceptions
This commit is contained in:
parent
03c9357c01
commit
ae1e361cc9
1 changed files with 0 additions and 8 deletions
|
@ -13,12 +13,10 @@ T = TypeVar("T")
|
|||
|
||||
|
||||
class Ref(Generic[T]):
|
||||
_error: Exception | None
|
||||
_users: WeakSet[Computed[Any]]
|
||||
_value: T
|
||||
|
||||
def __init__(self, initial: T):
|
||||
self._error = None
|
||||
self._value = initial
|
||||
self._users = WeakSet()
|
||||
|
||||
|
@ -29,9 +27,6 @@ class Ref(Generic[T]):
|
|||
if computed is not None:
|
||||
self._users.add(computed)
|
||||
|
||||
if self._error is not None:
|
||||
raise self._error
|
||||
|
||||
return self._value
|
||||
|
||||
@value.setter
|
||||
|
@ -55,7 +50,6 @@ class Computed(Ref[T]):
|
|||
_update: Callable[[], T]
|
||||
|
||||
def __init__(self, update: Callable[[], T]):
|
||||
self._error = None
|
||||
self._update = update
|
||||
self._users = WeakSet()
|
||||
self.update()
|
||||
|
@ -65,9 +59,7 @@ class Computed(Ref[T]):
|
|||
|
||||
try:
|
||||
self.value = self._update()
|
||||
self._error = None
|
||||
except Exception as err:
|
||||
self._error = err
|
||||
traceback.print_exception(err, file=sys.stderr)
|
||||
finally:
|
||||
self._stack.reset(token)
|
||||
|
|
Loading…
Reference in a new issue