python - 有没有办法处理 Python 中第三方模块抛出的错误?
问题描述
即使使用 try/except 块,Python 似乎也不会捕获该块中调用的函数或模块引发的错误。这没有意义。它有特定的语法吗?我似乎无法捕捉 BeautifulSoup 抛出的 UnicodeDecodeError 。当 BeautifulSoup 无法读取文件时,我只想能够捕获错误并将 temp 的内容复制到 temp1。
from bs4 import BeautifulSoup
with open('/mnt/data/opendata/work/temp.txt', 'r') as f:
contents = f.read()
try:
soup = BeautifulSoup(contents, 'lxml')
with open('/mnt/data/opendata/work/temp1.txt', 'w') as f1:
f1.write(str(soup))
except:
with open('/mnt/data/opendata/work/temp1.txt', 'w') as f1:
f1.write(contents)
解决方案
推荐阅读
- java - 获取联系人列表时无法启动活动 java.lang.NumberFormatException: s == null。无法定位错误
- python - Raspberry Pi:keyring.errors.InitError:无法创建集合:提示已关闭
- terminal - 从扫描的 pdf 中修剪黑色边框
- r - 如何在R中剪切具有相同中断的多列?
- mysql - SQL QUERY 在对表进行排序后合并连续的相同值
- javascript - QML 中用于多页应用程序的 StackView 或 Loader
- docker - Nginx 与多个 docker-compose 错误 111
- css - Bootstrap 5折叠使用宽度不从隐藏过渡
- python - scipy intergrate evaluate() 接受 2 个位置参数,但给出了 3 个
- azure - 未收到来自 Azure 数据工厂的警报电子邮件