python 异常处理

#!/usr/bin/env python
#-*- coding:utf-8 -*-

try:
    open("xxx.txt")
    #print(num)
    print('test1....')
    #print(num)
except NameError:
    print('有异常,正在处理中...')
except FileNotFoundError:
    print('No such file or directory')

print('test2....')

结果:
No such file or directory
test2....

还可以合并写:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

try:
    open("xxx.txt")
    #print(num)
    print('test1....')
    #print(num)
except (NameError,FileNotFoundError):   ##这是python3的写法
    print('有异常,正在处理中...')

#except NameError,FileNotFoundError: ###这是python2的写法 print('test2....') 结果: 有异常,正在处理中... test2....

异常所有写法:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

try:
    11/0
    #open("xxx.txt")
    #print(num)
    print('test1....')

except (NameError,FileNotFoundError):
    print('如果捕获到异常后做的处理...')
except Exception:      ##这是python3 捕获所有异常的方法,python2 直接写except:
    print('如果用了Exception,那么意味着上面的except没有捕获到的异常,这个except一定会捕获到')
#except Exception as ret:
#    print('如果用了Exception,那么意味着上面的except没有捕获到的异常,这个except一定会捕获到')
#    print(ret)
else:
    print('没有异常才会执行的功能')
finally:
    print('无论有没有异常,最后都要执行的功能')


print('test2....')

结果:

如果用了Exception,那么意味着上面的except没有捕获到的异常,这个except一定会捕获到
无论有没有异常,最后都要执行的功能
test2....

原文地址:https://www.cnblogs.com/shanhua-fu/p/7662687.html