python - Python 中支持/反对 `raise Exception(message)` 的参数

标签 python coding-style

我正在使用一个框架,源代码在几个地方使用 Exception 类(而不是子类,无论是特定于框架还是来自 stdlib)引发异常,这是我认为这不是一个好主意。

反对这个习语的主要论点是它强制调用者使用 except Exception: ,它可以捕获比本意更多的内容,因此将问题隐藏在较低的堆栈级别。

然而,在 Python 文档中快速搜索并没有得出反对这种做法的论点,教程中甚至有这样的例子(尽管在 Python 脚本中可以的东西在 Python 中可能根本就不行我认为的框架)。

那么 raise Exception 是否被认为是 pythonic?

最佳答案

来自 PEP 8 :

Modules or packages should define their own domain-specific base exception class, which should be subclassed from the built-in Exception class.

关于python - Python 中支持/反对 `raise Exception(message)` 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12596557/

相关文章:

python - 多行 python 正则表达式失败

python - 函数组合、元组和拆包

python - 在Python中向通讯组列表发送电子邮件

c++ - 如何存储这种图形?

python - 正则表达式获取括号外的所有文本

python - 是否可以使用 argparse (Python) 在另一个组内创建一个互斥组?

c++ - namespace 别名与定义的实际优势

c# - 如何让我的代码更容易让下一个开发人员理解?

c# - 在这种情况下可以使用 "goto"吗?

c# - 关于 C# "using"语句的样式/可读性问题