Communication should raise specific exceptions instead of RuntimeError
Raising specific communication exceptions should help users of the communication module to handle errors.
Raising specific communication exceptions should help users of the communication module to handle errors.