0
我目前正試圖確保我的Python腳本保持活着狀態,無論它處於什麼狀態,因此我試圖捕獲所有異常並找到一個apropiate腳本響應。在我的腳本中的這一點上,我試圖捕獲連接到我的MQTT代理時可能發生的錯誤,即無法通過eth0插入Internet連接(1),或者(2) )路由器沒有互聯網接入。Python MQTT異常處理
錯誤消息1:
socket.gaierror: [Errno -5] No address associated with hostname
和2的錯誤消息是:
socket.gaierror: [Errno -2] Name or service not known
可悲的是,我還沒有捕捉到這些異常。這是我試過的那些:然而
def mqtt_listen():
mqttc = mqtt.Client(machine_id, clean_session=False)
mqttc.username_pw_set(machine_id, mqtt_pwd)
mqttc.connect(mqtt_host, mqtt_port)
mqttc.subscribe(mqttc.topic, qos=1)
def on_connect(client, userdata, rc):
print " Attempting to connect to MQTT"
if rc != 0:
print "Unable to connect to MQTT: Connection refused. Error code (" + rc + ")"
elif rc == 0:
print "Connection to MQTT established."
else:
print "Unable to connect to MQTT: Socket error"
看來,作爲例外(socket.gaierror)不是MQTT(PAHO)庫的一部分,我似乎無法抓住它。任何幫助將真正Appriciated它!
謝謝!你是對的。我不能相信我錯過了這一點。 – user5740843