Files
my-v0-server/app/exceptions.py
T

40 lines
1.0 KiB
Python

class AppError(Exception):
"""应用业务异常"""
class DecisionError(AppError):
"""决策服务错误;仅暴露安全摘要及服务端追踪信息"""
def __init__(
self,
message: str,
*,
kind: str,
status: int | None = None,
request_id: str | None = None,
):
self.kind = kind
self.status = status
self.request_id = request_id
super().__init__(message)
class ImportProcessError(AppError):
"""导入流程异常,保留节点名称和原始异常信息"""
def __init__(
self, message: str, node_name: str = "", cause: Exception | None = None
):
self.node_name = node_name
self.cause = cause
super().__init__(message)
def __str__(self) -> str:
parts = []
if self.node_name:
parts.append(f"[{self.node_name}]")
parts.append(super().__str__())
if self.cause is not None:
parts.append(f"(原因: {self.cause})")
return " ".join(parts)