python - 如何检查一个异常块中的多个异常?
问题描述
我想在同一行捕获多个异常,但根据触发的异常有不同的结果。我正在尝试总结文本文件中的一组数字,并希望检查值和 io 错误。
try:
filex = open('test.txt', 'r')
number = filex.readline().rstrip('\n')
added = 0
while number != '':
added += int(number)
number = filex.readline().rstrip('\n')
print(added)
filex.close()
except (IOError,ValueError):
if IOError:
print('IOError')
else:
print('ValueError')
我遇到的问题是它总是会在 IF 测试的第一个条件下触发。
解决方案
可以使用两个,除了这个条件,像这样
try
.......
except IOError:
print('IOError')
except ValueError:
print('ValueError')
推荐阅读
- r - 地图功能的不同结果
- wordpress - 如何扩展 TimberPost
- asp.net-mvc - 必须两次需要 Vue 组件
- javascript - 在 Laravel 中过滤没有 if 语句的数据库
- micropython - esptool.py 不是内部或外部命令、可运行程序或批处理文件
- javascript - 将多个事件添加到同一函数会导致超出最大堆栈大小
- javascript - 在期望值时得到“未定义”
- php - Apache 和 php-fpm 不适用于带有正斜杠的脚本名称
- ruby-on-rails - 如何在我的 ConnectionAdapter 回调中使用设计方法?
- sabre - BaseFare 等于 GetReservationRS 中的 BT