Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 异常对象和IDE中缺少的_上下文_和_原因__)属性_Python - Fatal编程技术网

Python 异常对象和IDE中缺少的_上下文_和_原因__)属性

Python 异常对象和IDE中缺少的_上下文_和_原因__)属性,python,Python,python文档 这个问题提到了异常对象上的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu和\uuuuuuuuuuuuuuu上下文属性。 但是,当使用调试器检查异常对象时(调试器设置为使用raise),异常对象似乎没有这些属性,只是显示为元组。 (如来自我的调试器-pycharm) 这是在调试器根据最后一行的提升启动时发生的 尝试: response=requests.request(方法、url、json=payload、headers=headers) 除(reque

python文档 这个问题提到了异常对象上的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
\uuuuuuuuuuuuuuu上下文
属性。

但是,当使用调试器检查异常对象时(调试器设置为使用
raise
),异常对象似乎没有这些属性,只是显示为元组。 (如来自我的调试器-pycharm)

这是在调试器根据最后一行的提升启动时发生的


尝试:
response=requests.request(方法、url、json=payload、headers=headers)
除(requests.ConnectionError、requests.Timeout)外,其他为e:
logger.exception(“Api不可用”)
引发错误。从e不可用(“Api不可用”)
尝试:
响应。针对_状态()提出_
除了requests.exceptions.HTTPError作为e:
logger.exception(“Api HTTP错误”)
尝试:
raw_data=response.json()
除了json.JSONDecodeError作为e:
raise errors.ApiHTTPError(f'{response.status_code},{response.text},
text=response.text)来自e
api_errors=raw_data.get('errors'))
message=raw_data.get('message')
raiseerrors.apittperror(f'HTTP Error{response.status_code},{message},{api_errors}',text=response.text,
api_错误=来自e的api_错误)
errors.py

类开关错误(异常):
通过
类不可用(开关错误):
通过
类ApiHTTPError(开关错误):
定义初始化(self,message=None,text=None,api\u errors=None):
self.text=文本
self.message=消息
self.errors=api\u错误
定义(自我):
返回自我信息
ApiJsonError类(交换机错误):
定义初始化(self,message=None,text=None):
self.text=文本
self.message=消息
定义(自我):
返回自我信息
类APIRROR(开关错误):
定义初始化(自身、消息、状态代码、数据、状态=无)
self.message=消息
self.status\u code=状态\u code
self.data=数据
self.status=状态
定义(自我):
返回自我信息

那个
\uuuu异常\uuuu
东西不是异常。看起来PyCharm已经将其放入了一个
\uuuu异常\uuuu
变量中。例外情况是第二个元组元素,您应该在这里查找
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。在调试器冻结时,pycharm似乎正在做一些与执行
sys.exec.info()
稍有不同的事情,给出了前面的异常,这是导致以下异常的原因。我认为Pycharm将最后一个异常放在一个变量异常中,这个变量异常看起来像是在调用框架中执行sys.exc_info()。在调试器控制台中,我可以按照建议执行
error=\uuuu exception\uuuu[1]
然后执行
error.\uuuuu cause\uuuu
error.\uuuu context\uuuuu
按预期工作,从而获得错误的全部详细信息。pycharm使用pdb作为调试器,还将异常分配给调试器中的异常名称@云蒂:这看起来不像pdb的行为。我认为pdb不会在
\uuuuu exception\uuuuu
中保留回溯。你是对的,pycharm不使用pdb,因此存在一些差异。相反,看起来他们使用的是pydev。