
1、传递异常
有时我们会在捕捉到一个异常后重新引发它(传递异常),实现起来很简单,使用不带参数的 raise 语句即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | def f1():
print(1/0)
def f2():
try :
f1()
except Exception as e:
print( 'something worng' )
raise
f2()
# 运行结果
something worng
Traceback (most recent call last):
File "/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py" , line 11, in <module>
f2()
File "/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py" , line 6, in f2
f1()
File "/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py" , line 2, in f1
print(1/0)
ZeroDivisionError: division by zero
|
2、使用内置的语法规范代替 try/except
Python 本身提供了很多语法范式简化了异常处理,例如:
(1)for 语句利用 Stoplteration 异常来结束循环的
(2)with 语句在打开文件后会在操作结束后(无论是否正常结束)会自动关闭文件句柄
(3)使用 getattr() 函数获取对象中的不确定属性
以上就是python异常处理的两种技巧,希望对想要学习python的人有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。