Exception是不是不能继承,或者继承后无法调用了?
来源:5-5 全局异常处理
老卢123123
2018-07-26
from werkzeug.exceptions import HTTPException
class BaseError(Exception):
default_status_code = 200
LEVEL_DEBUG = 0
LEVEL_INFO = 1
LEVEL_WARN = 2
LEVEL_ERROR = 3
def __init__(self, message, status_code=None, extras=None, parent_error=None):
self._message = message
self._code = status_code
self.extras = extras
self.parent_error = parent_error
self.level = BaseError.LEVEL_DEBUG
@property
def status_code(self):
if not self._code:
return BaseError.default_status_code
return self._code
def to_dict(self):
rv = {
'msg': self._message,
'code': self.status_code,
'success': False
}
return rv
# 几种异常类型
class ValidationError(BaseError):
def __init__(self, message, extras=None):
super(ValidationError, self).__init__(message=message, extras=extras)
self.level = BaseError.LEVEL_INFO
class NotFoundError(BaseError):
def __init__(self, message, extras=None):
super(NotFoundError, self).__init__(message=message, extras=extras)
self.level = BaseError.LEVEL_WARN
class FormError(BaseError):
def __init__(self, form):
message = form.get_validate_error()
super(FormError, self).__init__(message, extras=form.data)
self.level = BaseError.LEVEL_INFO
class OrmError(BaseError):
def __init__(self, message, status_code=None, extras=None, parent_error=None):
super(OrmError, self).__init__(message, status_code, extras, parent_error)
self.level = BaseError.LEVEL_ERROR老师帮忙看一下,上面这个BaseError继承Exception 是不是无效的?
因为在app调用了好像没有执行
@app.errorhandler(BaseError) def framework_error(e):
写回答
1回答
-
7七月
2018-07-27
flask版本多少?
022018-07-28
相似问题