无法捕获错误,而是打印到控制台

问题描述

我正在检测外部 IP 是否已使用 miniupnpc 更改。在我的测试过程中,我注意到当我关闭 Wi-Fi(将我的电脑与互联网断开连接)时,我收到一个错误,我无法通过异常捕获。

它似乎打印到控制台。

u = miniupnpc.UPnP()
u.discoverdelay = config.svc_upnp_disc_delay

try:
    discover = u.discover()
    print(discover,'device(s) detected')

    if discover:
        u.selectigd()

        while True:
            stat_info,stat_port,stat_error = u.statusinfo()
            if stat_info == 'Connected':

                if u.lanaddr != os.environ.get(config.envr_name_int_addr):
                    os.environ[config.envr_name_int_addr] = u.lanaddr

                ext_ip = u.externalipaddress()
                if ext_ip != os.environ.get(config.envr_name_ext_addr):
                    os.environ[config.envr_name_ext_addr] = ext_ip

                print('+',end=' ',flush=True)

            else:
                print('-',flush=True)
                if stat_info != os.environ.get(config.envr_svc_status):
                    os.environ[config.envr_svc_status] = stat_info

            time.sleep(5)

except Exception as e:
    print('Exception :',e)

这是错误

sendto: Network is unreachable
sendto: Network is unreachable
sendto: Network is unreachable
sendto: Network is unreachable

有什么办法可以捕获这个问题,以便我可以将其记录在日志文件中而不是控制台中?

首先是什么导致它......因为我没有打印它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)