环境: python-3.6.5 djangorestframework-3.10.3 django-2.2.3
这是我自定义的一些异常:
继承关系是:WechatPaymentError -> BaseWechatError -> Exception 但是在统一处理异常时却出现了这样的情况:
通过 type(exc)可以看到 exc 是 WechatPaymentError 的实例, 但是对 WechatPaymentError 和 BaseWechatError 的 isinstance 判断都是 False
1
SjwNo1 2020-07-31 13:32:29 +08:00
为什么在我的 shell 里没有这个问题
|
2
zachlhb 2020-07-31 13:55:24 +08:00 via Android
为何要判断类型,直接获取 exception 的 message 统一返回就行了啊
|
3
chenstack 2020-07-31 17:05:48 +08:00
看下是否 type(exc) == WechatPaymentError,会不会定义了两个 WechatPaymentError
|
4
Vegetable 2020-07-31 17:12:26 +08:00
无法复现,检查命名空间是不是有问题吧,一般这种情况,都是代码出了问题。
|
5
j0hnj 2020-07-31 17:43:53 +08:00
如楼上所说,这种一般都是在两个模块里定义了两个 `WechatPaymentError`
|