环境: 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` |