Exception and return-value call paths (source audit)

Scope: bundled source_reference/dobot_core/ snapshots. Line numbers refer to those snapshots.

Only direct calls and explicit exception syntax found by AST are shown. This does not establish runtime return values, transport health, or complete exception propagation.

API

Location

Direct calls

Explicit raise

Caught exceptions

connect

dobot_ctrl.py:36

_ctrl.connect

—

—

disconnect

dobot_ctrl.py:48

_ctrl.disconnect

—

—

reset_error

dobot_ctrl.py:74

_ctrl.reset_error

—

—

get_motion_complete

dobot_ctrl.py:87

_ctrl.get_motion_complete

—

—

wait_for_complete

dobot_ctrl.py:90

_ctrl.wait_for_complete

—

—

get_current_position

dobot_ctrl.py:288

_ctrl.get_current_position

—

—

get_current_angle

dobot_ctrl.py:294

_ctrl.get_current_angle

—

—

get_error

dobot_ctrl.py:312

_ctrl.get_error

—

—

get_error_code

dobot_ctrl.py:315

_ctrl.get_error_code

—

—

get_error_count

dobot_ctrl.py:318

_ctrl.get_error_count

—

—

move

dobot_ctrl.py:420

_ctrl.move

—

—

get_IO

dobot_ctrl.py:493

_ctrl.get_IO

—

—

get_digital_input

dobot_ctrl.py:496

_ctrl.get_digital_input

—

—

set_IO

dobot_ctrl.py:499

_ctrl.set_IO

—

—

connect

dobot_tcp.py:108

—

RuntimeError(f'Dobot feedback dtype size mismatch: MyType.itemsize={MyType.itemsize}, expected={self.FEEDBACK_SIZE}')

Exception

disconnect

dobot_tcp.py:170

—

—

Exception

reset_error

dobot_tcp.py:484

_dashboard.ClearError, _handle_command_reply

—

—

get_current_position

dobot_tcp.py:535

_dashboard.GetPose, _dashboard_values

RuntimeError(f'GetPose returned too few values: {values}')

—

get_current_angle

dobot_tcp.py:560

_dashboard.GetAngle, _dashboard_values

RuntimeError(f'GetAngle returned too few values: {values}')

—

wait_for_complete

dobot_tcp.py:653

_handle_command_reply, _motion_error_active, _move.Sync

—

—

get_error

dobot_tcp.py:688

_error_manager.get_error

—

—

get_error_code

dobot_tcp.py:692

_error_manager.get_error_code

—

—

get_error_count

dobot_tcp.py:700

_error_manager.get_error_count

—

—

move

dobot_tcp.py:1310

_handle_command_reply, _j_to_mg400, _move.JointMovJ, _move.MovJ, _move.MovL, _p_to_mg400, _set_motion_target, _vector6, _wait_motion_start_or_error

—

Exception

get_digital_input

dobot_tcp.py:1751

_dashboard.DI, _ok, _parse_reply_values

—

Exception

get_IO

dobot_tcp.py:1796

_scalar_status, _state

ValueError('id_num must be >= 1')

—

set_IO

dobot_tcp.py:1808

_dashboard.DO, _ok

—

—

Interpretation

  • Distinguish DobotCtrl delegation to _ctrl from DobotTcp delegation to _error_manager.

  • get_error* reaches DobotErrorManager._get_error_records(). See return/failure reference for the ambiguity between communication failure and no alarm.

  • The Sync() reply from wait_for_complete() is not proof of safe motion completion.

  • Indirect exceptions, properties, dynamic dispatch, and third-party exceptions are not traced.