python异常处理的两种技巧

Python (163) 2023-07-03 17:06:39

1、传递异常

有时我们会在捕捉到一个异常后重新引发它(传递异常),实现起来很简单,使用不带参数的 raise 语句即可。

deff1():
print(1/0)

deff2():
try:
f1()
exceptExceptionase:
print('somethingworng')
raise

f2()


#运行结果
somethingworng
Traceback(mostrecentcalllast):
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line11,in<module>
f2()
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line6,inf2
f1()
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line2,inf1
print(1/0)
ZeroDivisionError:divisionbyzero

2、使用内置的语法规范代替 try/except

Python 本身提供了很多语法范式简化了异常处理,例如:

(1)for 语句利用 Stoplteration 异常来结束循环的

(2)with 语句在打开文件后会在操作结束后(无论是否正常结束)会自动关闭文件句柄

(3)使用 getattr() 函数获取对象中的不确定属性

以上就是python异常处理的两种技巧,希望对想要学习python的人有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复