gpt4 book ai didi

Python 自定义异常处理

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:11 25 4
gpt4 key购买 nike

经过多次谷歌搜索以弄清楚发生了什么,这里是:

我有一个需要请求和响应的自定义验证异常

class ValidationException(Exception):
message = "Caught Validation Exception"

def __init__(self, request, response):
self.details = {
"request": request,
"response": response
}
super(ValidationException, self).__init__(self.message, self.details)

我有一个异常处理程序,它将在某些条件下引发它的实例:

class handler:
if something:
raise ValidationException(request, response)

如果我们在帖子中遇到问题,则会调用处理程序

class Poster:
def post(data):
if self.last_response.status_code not in self.valid_post_codes:
self.exception_handler.handleException(self.last_request, self.last_response)

问题是,我正在引发 ValidationException,将其放入我的回溯中,但是,它似乎没有在我想要的地方捕获。

def testThis(self):
try:
self.poster.post(json.dumps({}))
except ValidationException:
print "got validation"
except Exception:
print "got exception"

结果:“出现异常”

回溯

lib/service/pas/api/order.py line 24 in postOrder
return self.post()
lib/service/base.py line 42 in post
self.exception_handler.handleException(self.last_request, self.last_response)
lib/service/exception/handler.py line 14 in handleException
raise ValidationException(request, response)
ValidationException:

它的值(value):

assertRaises(ValidationException, self.poster.post, json.dumps({}))

也仅捕获异常。有任何想法吗? :\任何帮助是极大的赞赏!提前致谢

最佳答案

好吧好吧...所以..

我的 IDE 在导入时添加了“lib”前缀,该前缀导入了 Exceptions.ValidationException。

当我在其他地方抛出 my.own.ValidationException 时,它没有被捕获,因为它不是同一类型。结果碰巧出现了另一个我不知道的 ValidationException...

太棒了,不是!

关于Python 自定义异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26662240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com