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