NotAligned and RoomError are on the package root. The rest live in the module that raises them.

What is raised

What to catch

The subclassing decides this. RecordingError subclasses RoomError, so one except RoomError around session setup catches every VideoSDK API failure, cloud recording included.

Arming

NotAligned is the one you will catch most, since it is raised on purpose whenever arming would make the follower travel to meet a leader that is somewhere else.
Both arm_when_aligned() and hold_deadman(True) raise it. Releasing the deadman never does, because a stop must not be refusable.

Calibration

CalibrationError subclasses ValueError, so a caller that already handles bad input keeps working.

Troubleshooting

The same failures by symptom, with what to change.

Leader

Arming, control and the calls that raise here.