繁体   English   中英

如何在Python中处理带参数的异常

[英]How to handle exception with parameters in Python

在 Python 3.x 中,处理具有参数的异常的正确语法是什么。 我特别想处理 此页面上记录的WriteError

我正在编写代码来处理它:

   except pymongo.errors.WriteError(err, code, dtls):
       logging.error("DB Write Error. err={}; code={}; dtls={}".format(err, code, dtls))

这是行不通的。

我什至查看了Erros 和 Exceptions文档。 但是在那里找不到。

你能告诉我处理这些异常的正确方法吗?

您首先捕获错误,然后检查其属性(如果不是您想要处理的异常,则重新引发异常)。 异常的内容没有模式匹配。

except pymongo.errors.WriteError as exc:
    logging.error("DB WriteError. err={}; code={}; dtls={}".format(exc.err, exc.code, exc.dtls))

except块只需要异常的类型。 当然,如果您愿意,您可以在块内使用其属性:

except pymongo.errors.WriteError as e:
   logging.error("DB Write Error. err={}; code={}; dtls={}".format(e.err, e.code, e.dtls))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM