私は現在、どのような状況になっても、Pythonスクリプトが生きているかどうかを確認しようとしています。そのため、すべての例外を捕捉し、スクリプトの応答を見つけようとしています。Python MQTT例外処理
私のスクリプトのこの時点で、私はMQTTブローカーに接続するときに起こりうるエラーを捕まえようとしています。つまり、eth0がプラグインされていないか、(2 )ルータにインターネットアクセスがありません。
socket.gaierror: [Errno -5] No address associated with hostname
と2のエラーメッセージは次のとおりです:1
エラーメッセージがある悲しいことに、私はこれらの例外を捕捉することはなかった
socket.gaierror: [Errno -2] Name or service not known
。これらは、私が試したものです:それは例外(socket.gaierror)として、しかし思わMQTT(PAHO)ライブラリの一部ではありません
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"
、私はそれをキャッチするように見えることはできません。どんな助けでも本当にそれが妥協されるでしょう!
ありがとうございました!あなたが正しい。私はそれを逃したとは信じられません。 – user5740843