page contents

Python-3.14 持续减化的异常处理!

最近看到 Python-3.14 有一处对异常处理写法的改进,不由地想起刚入行时代码都是规规矩矩的,根本没有现在这么简洁【奇技淫巧】。这篇文章打算回忆一下当年过的苦日子。

attachments-2025-06-Kj9hHCSK683cfbc6c1a0b.jpg最近看到 Python-3.14 有一处对异常处理写法的改进,不由地想起刚入行时代码都是规规矩矩的,根本没有现在这么简洁【奇技淫巧】。这篇文章打算回忆一下当年过的苦日子。

第一阶段这个阶段完全没有什么技巧

#!/usr/bin/env python3

def errro_handler():    print("这是一个摆烂的错误处理函数")

def foo():    try:        # 这里是一些可能会引发异常的代码        raise ValueError("")    except ValueError:        errro_handler()    except IndexError:        errro_handler()

def main():    foo()

if __name__ == "__main__":    main()

第二阶段这个阶段在写法上可以简洁一点,如果多个异常他们的处理方式一致,可以合在一起;写法上只需要用一个括号括起来就行。

#!/usr/bin/env python3

def errro_handler():    print("这是一个摆烂的错误处理函数")

def foo():    try:        # 这里是一些可能会引发异常的代码        raise ValueError("")    except (ValueError, IndexError):        errro_handler()

def main():    foo()

if __name__ == "__main__":    main()

第三阶段这个阶段可以把上一个阶段的括号也去掉了, 能简洁一点但是不多。

#!/usr/bin/env python3

def errro_handler():    print("这是一个摆烂的错误处理函数")

def foo():    try:        # 这里是一些可能会引发异常的代码        raise ValueError("")    except ValueError, IndexError:        errro_handler()

def main():    foo()

if __name__ == "__main__":    main()

运行效果, 由于这是 3.14 才有的功能,所有在其它版本上运行会报错。

/usr/local/python-3.14.0.a/bin/python3 /tmp/main.py

这是一个摆烂的错误处理函数

python-3.13.0 main.py   File "/tmp/main.py", line 12    except ValueError, IndexError:           ^^^^^^^^^^^^^^^^^^^^^^SyntaxError: multiple exception types must be parenthesized

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2025-06-02 09:19
  • 阅读 ( 48 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1283 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2120 文章
  3. Pack 1283 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章