Python,元类,HTTPException,_init_子类_uu-TypeError:异常必须派生自BaseException
有人能告诉我如何解决我的问题吗Python,元类,HTTPException,_init_子类_uu-TypeError:异常必须派生自BaseException,python,class,httpexception,Python,Class,Httpexception,有人能告诉我如何解决我的问题吗 from werkzeug.exceptions import HTTPException class HTTPExceptions(HTTPException): subclasses = dict() def __init_subclass__(cls, **kwargs): super().__init_subclass__(**kwargs) cls.subclasses[f'{cls.__name__}
from werkzeug.exceptions import HTTPException
class HTTPExceptions(HTTPException):
subclasses = dict()
def __init_subclass__(cls, **kwargs):
super().__init_subclass__(**kwargs)
cls.subclasses[f'{cls.__name__}'] = cls.__name__
class Error501(HTTPExceptions):
code = 501
当我尝试跑步时:
raise HTTPExceptions.subclasses['Error501']
我得到
有人知道如何解决它吗?
cls.\uuuu name\uuuuu
是一个字符串,因此您定义HTTPExceptions的方式。子类
是字符串到字符串的映射。我想你的意图是:
cls.subclasses[f'{cls.__name__}'] = cls
当运行结果为
Traceback (most recent call last):
File "D:/Dev/python/scratch/subclass_exception.py", line 13, in <module>
raise HTTPExceptions.subclasses['Error501']
__main__.Error501
回溯(最近一次呼叫最后一次):
文件“D:/Dev/python/scratch/subclass_exception.py”,第13行,在
引发HTTPExceptions.subclass['Error501']
__主要错误501
cls.\uuuu name\uuuu
存储类的名称。使用cls
存储类本身。
Traceback (most recent call last):
File "D:/Dev/python/scratch/subclass_exception.py", line 13, in <module>
raise HTTPExceptions.subclasses['Error501']
__main__.Error501