62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
# 联软LV7000异常体系
|
||
"""
|
||
定义联软API集成的异常类层级。
|
||
|
||
层级:
|
||
LianruanError — 基类(所有联软异常)
|
||
├── LianruanConfigError — 配置缺失(未填写账号/密码/BaseURL)
|
||
├── LianruanAuthError — 认证失败(IP不在白名单/账号密码错误/Token过期)
|
||
├── LianruanConnectionError — 网络连接失败(超时/拒绝连接)
|
||
└── LianruanApiError — API业务错误(参数错误/数据超限/其他)
|
||
"""
|
||
|
||
|
||
class LianruanError(Exception):
|
||
"""联软异常基类"""
|
||
|
||
def __init__(self, message: str, detail: str = ""):
|
||
self.message = message
|
||
self.detail = detail
|
||
super().__init__(message)
|
||
|
||
|
||
class LianruanConfigError(LianruanError):
|
||
"""配置缺失异常。
|
||
|
||
场景:未配置联软 BaseURL / ApiAccount / ApiPassword
|
||
"""
|
||
pass
|
||
|
||
|
||
class LianruanAuthError(LianruanError):
|
||
"""认证失败异常。
|
||
|
||
场景:
|
||
- IP不在白名单(status=INVALID)
|
||
- 账号密码错误
|
||
- Token过期(需重新获取)
|
||
"""
|
||
pass
|
||
|
||
|
||
class LianruanConnectionError(LianruanError):
|
||
"""网络连接失败异常。
|
||
|
||
场景:超时/拒绝连接/DNS解析失败
|
||
"""
|
||
pass
|
||
|
||
|
||
class LianruanApiError(LianruanError):
|
||
"""API业务错误异常。
|
||
|
||
场景:
|
||
- 参数错误(status=ERROR)
|
||
- 数据量超限(status=Exceed)
|
||
- 其他业务异常
|
||
"""
|
||
|
||
def __init__(self, message: str, status: str = "", detail: str = ""):
|
||
self.status = status # 联软返回的status字段(ERROR/Exceed等)
|
||
super().__init__(message, detail)
|