如何使用Python

时间:2017-09-30 17:16:41

标签: python python-3.x exception pymongo pymongo-3.x

在Python 3.x中,处理具有参数的异常的正确语法是什么。 我特意尝试处理this page上记录的 WriteError

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

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

这不起作用。

我甚至看过Erros and Exceptions文档。但在那里找不到。

你能告诉我处理这类例外的正确方法吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

except块只需要例外的类型。当然,如果你愿意,你可以在块中使用它的属性:

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