You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/iti/exceptions.py

38 lines
812 B
Python

from __future__ import annotations
from typing import Any
class ItiError(Exception):
status_code = 500
message = "服务器错误"
def __init__(
self,
message: str | None = None,
*,
code: int | None = None,
status_code: int | None = None,
data: Any = None,
) -> None:
self.message = message or self.message
self.code = code or status_code or self.status_code
self.status_code = status_code or self.status_code
self.data = data
super().__init__(self.message)
class BizError(ItiError):
status_code = 400
message = "业务错误"
class PermissionDenied(ItiError):
status_code = 403
message = "权限不足"
class Unauthorized(ItiError):
status_code = 401
message = "未认证"