python - 在Python中,如果错误将被重新引发,是否有任何理由使用try/except?

标签 python exception

如果我要重新引发标准错误,是否有任何最佳实践、风格或程序原因来捕获它们?

换句话说,出于某种原因这样做是否更好:

try:
    do_something()
except StandardError:
    raise

不仅仅是这个:

do_something()

我看到这个问题Does a exception with just a raise have any use?这表明,当某些错误为 pass 而另一些错误为 raise 时,通常会使用此方法,据我所知;它表明前者对于文档(?)和作为 future 的占位符更有用,这都是人类层面的原因。

我只是想知道是否有任何较低级别的答案,或者甚至只是哪个被认为更Pythonic?

最佳答案

如果您想记录错误(例如),您可以这样做:

try:
    do_something()
except StandardError as ex:
    print(ex)
    raise

而且只是

try:
    do_something()
except StandardError:
    raise

明确表明您知道可能的异常,但不想捕获它。

关于python - 在Python中,如果错误将被重新引发,是否有任何理由使用try/except?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40785036/

相关文章:

python - RabbitMQ-套接字关闭异常-Windows Server 2012

python - 从日期时间范围创建 pandas 数据框

python - 运行所有 Python bdd 行为和单元测试

c++ - 如何处理或避免 C++11 <regex> 匹配函数的异常(§28.11)?

不使用指针或数组的 C++ 损坏堆

c# - 实现业务规则的规范模式

python - 覆盖设置和包默认值

python - Heroku中的Django Redis连接错误: Error 110 while writing to socket.连接超时

java - JTextField 不接受超过 1 个输入

c++ - 如果文件在构造函数中不存在则抛出异常,并在 main() 中创建对象时尝试/捕获它,如果正确 - 开始使用该对象