Avoid attr-err when `._ipc_msg==None`
Seems this can happen in particular when we raise a `MessageTypeError` on the sender side of a `Context`, since there isn't any msg relayed from the other side (though i'm wondering if MTE should derive from RAE then considering this case?). Means `RemoteActorError.boxed_type = None` in such cases instead of raising an attr-error for the `None.boxed_type_str`.ext_type_plds
parent
92e1a2313d
commit
58a818472c
|
@ -432,9 +432,13 @@ class RemoteActorError(Exception):
|
||||||
Error type boxed by last actor IPC hop.
|
Error type boxed by last actor IPC hop.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
if self._boxed_type is None:
|
if (
|
||||||
|
self._boxed_type is None
|
||||||
|
and
|
||||||
|
(ipc_msg := self._ipc_msg)
|
||||||
|
):
|
||||||
self._boxed_type = get_err_type(
|
self._boxed_type = get_err_type(
|
||||||
self._ipc_msg.boxed_type_str
|
ipc_msg.boxed_type_str
|
||||||
)
|
)
|
||||||
|
|
||||||
return self._boxed_type
|
return self._boxed_type
|
||||||
|
@ -1143,6 +1147,8 @@ def unpack_error(
|
||||||
which is the responsibilitiy of the caller.
|
which is the responsibilitiy of the caller.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
# XXX, apparently we pass all sorts of msgs here?
|
||||||
|
# kinda odd but seems like maybe they shouldn't be?
|
||||||
if not isinstance(msg, Error):
|
if not isinstance(msg, Error):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue