|
15 | 15 | from matter_server.common.helpers.json import json_dumps, json_loads
|
16 | 16 | from matter_server.common.models import EventType
|
17 | 17 |
|
18 |
| -from ..common.errors import InvalidArguments, InvalidCommand, MatterError, SDKStackError |
| 18 | +from ..common.errors import InvalidArguments, InvalidCommand, MatterError |
19 | 19 | from ..common.helpers.api import parse_arguments
|
20 | 20 | from ..common.helpers.util import dataclass_from_dict
|
21 | 21 | from ..common.models import (
|
@@ -192,27 +192,22 @@ async def _run_handler(
|
192 | 192 | if asyncio.iscoroutine(result):
|
193 | 193 | result = await result
|
194 | 194 | self._send_message(SuccessResultMessage(msg.message_id, result))
|
195 |
| - except ChipStackError as err: |
196 |
| - self._logger.error( |
197 |
| - "SDK Error during handling message: %s: %s", |
198 |
| - msg.command, |
199 |
| - str(err), |
200 |
| - # only print the full stacktrace if debug logging is enabled |
201 |
| - exc_info=err if self._logger.isEnabledFor(logging.DEBUG) else None, |
202 |
| - ) |
203 |
| - self._send_message( |
204 |
| - ErrorResultMessage(msg.message_id, SDKStackError.error_code, str(err)) |
205 |
| - ) |
206 |
| - except Exception as err: # pylint: disable=broad-except # noqa: BLE001 |
| 195 | + except (ChipStackError, MatterError) as err: |
| 196 | + error_code = getattr(err, "error_code", MatterError.error_code) |
| 197 | + message_str = msg.command |
| 198 | + if msg.args and (node_id := msg.args.get("node_id")): |
| 199 | + message_str += f" (node {node_id})" |
207 | 200 | self._logger.error(
|
208 |
| - "SDK Error during handling message: %s: %s", |
209 |
| - msg.command, |
210 |
| - str(err), |
| 201 | + "Error while handling: %s: %s", |
| 202 | + message_str, |
| 203 | + str(err) or err.__class__.__name__, |
211 | 204 | # only print the full stacktrace if debug logging is enabled
|
212 | 205 | exc_info=err if self._logger.isEnabledFor(logging.DEBUG) else None,
|
213 | 206 | )
|
214 |
| - error_code = getattr(err, "error_code", MatterError.error_code) |
215 | 207 | self._send_message(ErrorResultMessage(msg.message_id, error_code, str(err)))
|
| 208 | + except Exception as err: |
| 209 | + self._send_message(ErrorResultMessage(msg.message_id, 0, str(err))) |
| 210 | + raise err |
216 | 211 |
|
217 | 212 | async def _writer(self) -> None:
|
218 | 213 | """Write outgoing messages."""
|
|
0 commit comments