Python如何捕获bluetooth socket报错并输出自定义提示信息
实现方法
使用Python的try-except异常捕获结构,精准匹配蓝牙模块抛出的对应错误码即可实现需求,修改后的完整代码如下:
import bluetooth # 此处替换为你实际的设备地址与端口 bd_addr = "xx:xx:xx:xx:xx:xx" port = 1 try: sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM) sock.connect((bd_addr, port)) print('连接成功!') sock.close() except bluetooth.btcommon.BluetoothError as e: # 仅匹配目标主机未启动的112错误码 if e.errno == 112: print("自定义错误:目标蓝牙设备未开机或不在可连接范围内,请检查后重试") # 其余蓝牙错误可按需处理,不需要的话可以直接抛出原异常 else: raise
补充说明
- 如果你不需要区分其他类型的蓝牙错误,只要捕获所有蓝牙连接失败的情况输出自定义提示,可以删掉
if e.errno == 112的判断逻辑,直接在except块内输出提示即可 - 部分版本的蓝牙模块会把
BluetoothError暴露在顶层命名空间,你也可以把捕获语句改成except bluetooth.BluetoothError as e,兼容性更强
内容的提问来源于stack exchange,提问作者user8607392
相关产品推荐
相关产品推荐

