Python 3.x 如何在python中处理套接字错误异常,同时通过循环检查域列表的状态?

Python 3.x 如何在python中处理套接字错误异常,同时通过循环检查域列表的状态?,python-3.x,exception,try-catch,serversocket,Python 3.x,Exception,Try Catch,Serversocket,Iam使用socket.gethostbyname库检查主机ip的状态以获取域列表。所以我有一个域列表,我在一个循环中迭代,以获得每个域的相应ip,并根据ip列表验证这些ip 在遍历域列表时,如果套接字无法返回任何域的IP,它将抛出异常错误并停止检查列表中剩余域的状态 def验证和获取服务器状态() 域名=['a.com'、'b.com'、'c.com'] ipList=['ip1'、'ip2'、'ip3'] 打印(“域名列表”,域名) 尝试: 对于域中的值: ip=获取主机名(值) 打印(“

Iam使用socket.gethostbyname库检查主机ip的状态以获取域列表。所以我有一个域列表,我在一个循环中迭代,以获得每个域的相应ip,并根据ip列表验证这些ip

在遍历域列表时,如果套接字无法返回任何域的IP,它将抛出异常错误并停止检查列表中剩余域的状态


def验证和获取服务器状态()
域名=['a.com'、'b.com'、'c.com']
ipList=['ip1'、'ip2'、'ip3']
打印(“域名列表”,域名)
尝试:
对于域中的值:
ip=获取主机名(值)
打印(“域的IP”,IP)
如果ip在iplist中:
打印('找到ip',ip)
其他:
打印('未列出Ip',Ip)
除连接错误外,如e:
打印(“由于以下原因导致的错误”)
def get_主机名(域名):
尝试:
domain_ip=socket.gethostbyname(域名)
打印(“域IP为”,域IP为)
返回域\u ip
除连接错误外,如e:
打印(“错误日志”,e)
#我犯了一个错误
domain_ip=socket.gethostbyname(域名)
socket.gaierror:[Errno 11001]getaddrinfo失败
预期:我需要按如下方式获取域的状态:如果套接字返回ip,则if条件应显示ip,如果套接字未返回ip,则还应将ip和原因显示为消息。循环不应该停止检查剩余的域名

实际:在迭代循环时,假设套接字由于连接错误或关闭状态而无法返回域“a.com”的ip,它会抛出异常错误,并停止检查列表中剩余域的循环状态

如果有人能帮上忙,我会很感激的