如何解决Pylint(W0702:bare-except)报错?dnspython异常处理场景
解决dnspython反向解析异常捕获与Pylint提示问题
不需要自定义新异常类型,直接捕获dnspython模块提供的NXDOMAIN异常即可,这样既符合代码规范,又能消除Pylint的W0702:bare-except错误提示。
具体修改方案:
- 从
dns.resolver中导入NXDOMAIN异常类 - 在
except语句中明确指定捕获该异常类型
修改后的代码:
from dns import resolver from dns.resolver import NXDOMAIN try: query = resolver.resolve(q_addr, q_type) except NXDOMAIN: result.append("DNS Not Found") else: result.append(query)
补充说明:
如果你的场景中还可能出现其他DNS相关异常(比如无响应、超时等),可以按需添加捕获对应的异常类,比如dns.resolver.NoAnswer、dns.resolver.Timeout等,避免遗漏情况的同时,依然保持精准捕获,不使用裸except。
内容的提问来源于stack exchange,提问作者Masoud
相关产品推荐
相关产品推荐

