首页 > 文章列表 > python异常处理的两种技巧

python异常处理的两种技巧

python异常处理
432 2022-08-07

1、传递异常

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

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电脑。