我有一段代码,当它连接的主机的IP地址错误时会给我一个urllib3错误,并且还会阻止应用程序启动。
此连接尝试位于视图中(不是主视图),我假设在应用程序启动时正在调用它。
我想写一个try
来检查这个异常,但是,错误没有提到它看到的异常类型。
问:在应用程序启动时,我可以在try
中指定哪种异常类型来处理此错误?
错误
无法导入应用
错误:HTTPSConnectionPool(host = '10 .0.0.1',port = 834):使用url:/ items超出了最大重试次数(由NewConnectionError引起(':无法建立新连接:[Errno 113]无主机路由',) )
提前致谢。
答案 0 :(得分:2)
谢谢@ cricket_007
通过导入请求的异常来解决它。
from requests.exceptions import ConnectionError
然后在try
语句中触发。
try:
<<something>>
except ConnectionError:
<<something>>
答案 1 :(得分:0)
在回答实际问的问题时,您可以通过其__bases__
元组找到Python类的基类。例如,
>>> class MyZeroDivide( ZeroDivisionError):
... pass
>>> z = MyZeroDivide() # instance
>>> z.__class__
<class '__main__.MyZeroDivide'> # class
>>> z.__class__.__bases__
(<type 'exceptions.ZeroDivisionError'>,) # base class(es)
>>> z.__class__.__bases__[0].__bases__
(<type 'exceptions.ArithmeticError'>,) # up a level
>>> z.__class__.__bases__[0].__bases__[0].__bases__
(<type 'exceptions.StandardError'>,) # up two levels