
环境: 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 年 7 月 31 日 为什么在我的 shell 里没有这个问题 |
2 zachlhb 2020 年 7 月 31 日 via Android 为何要判断类型,直接获取 exception 的 message 统一返回就行了啊 |
3 chenstack 2020 年 7 月 31 日 看下是否 type(exc) == WechatPaymentError,会不会定义了两个 WechatPaymentError |
4 Vegetable 2020 年 7 月 31 日 无法复现,检查命名空间是不是有问题吧,一般这种情况,都是代码出了问题。 |
5 j0hnj 2020 年 7 月 31 日 如楼上所说,这种一般都是在两个模块里定义了两个 `WechatPaymentError` |