薬薬薬加油 发表于 2022-5-2 15:16:43

try-except语句


try:
    sum = 1 + '1'
    f = open('一个不存在的文档.txt')
    print(f.read())
    f.close()
except TypeError as reason:
    print('类型出错啦 \n错误的原因是:' + str(reason))
except OSError as reason:
    print('文件出错啦 \n错误的原因是:' + str(reason))


这里只会输出类型出错啦,后边的文件出错了不会输出

isdkz 发表于 2022-5-2 15:19:52

本帖最后由 isdkz 于 2022-5-2 15:21 编辑

因为捕获到一个错误就不继续往下执行了,所以是不能同时捕获到两个错误的,

所以你要使用 两个 try:
try:
    sum = 1 + '1'
except TypeError as reason:
    print('类型出错啦 \n错误的原因是:' + str(reason))

try:
    f = open('一个不存在的文档.txt')
    print(f.read())
    f.close()
except OSError as reason:
    print('文件出错啦 \n错误的原因是:' + str(reason))

傻眼貓咪 发表于 2022-5-2 16:39:09

只会优先选择一个 except 作为异常处理,哪个错先发生就选哪个。一旦发现错误,try 语句就不再往下执行下面代码,直接寻找对应的 except 语句。

薬薬薬加油 发表于 2022-5-2 17:05:53

谢谢!

薬薬薬加油 发表于 2022-5-2 17:06:28

傻眼貓咪 发表于 2022-5-2 16:39
只会优先选择一个 except 作为异常处理,哪个错先发生就选哪个。一旦发现错误,try 语句就不再往下执行下面 ...

谢谢!
页: [1]
查看完整版本: try-except语句