nonebot.exception
本模块包含了所有 NoneBot 运行时可能会抛出的异常。
这些异常并非所有需要用户处理,在 NoneBot 内部运行时被捕获,并进行对应操作。
NoneBotException
├── ParserExit
├── ProcessException
| ├── IgnoredException
| ├── SkippedException
| | └── TypeMisMatch
| ├── MockApiException
| └── StopPropagation
├── MatcherException
| ├── PausedException
| ├── RejectedException
| └── FinishedException
├── AdapterException
| ├── NoLogException
| ├── ApiNotAvailable
| ├── NetworkError
| └── ActionFailed
└── DriverException
└── WebSocketClosed
class NoneBotException(<auto>)
-
说明: 所有 NoneBot 发生的异常基类。
-
参数
auto
class ParserExit(<auto>)
-
说明: 处理消息失败时返回的异常。
-
参数
auto
class ProcessException(<auto>)
-
说明: 事件处理过程中发生的异常基类。
-
参数
auto
class IgnoredException(<auto>)
-
说明: 指示 NoneBot 应该忽略该事件。可由 PreProcessor 抛出。
-
参数
reason
: 忽略事件的原因
class SkippedException(<auto>)
-
说明
指示 NoneBot 立即结束当前
Dependent
的运行。例如,可以在
Handler
中通过 Matcher.skip 抛出。 -
参数
auto
-
用法
def always_skip():
Matcher.skip()
@matcher.handle()
async def handler(dependency = Depends(always_skip)):
# never run
class TypeMisMatch(<auto>)
-
说明: 当前
Handler
的参数类型不匹配。 -
参数
auto
class MockApiException(<auto>)
-
说明: 指示 NoneBot 阻止本次 API 调用或修改本次调用返回值,并返回自定义内容。 可由 api hook 抛出。
-
参数
result
: 返回的内容
class StopPropagation(<auto>)
-
说明
指示 NoneBot 终止事件向下层传播。
在 Matcher.block 为
True
或使用 Matcher.stop_propagation 方法时抛出。 -
参数
auto
-
用法
matcher = on_notice(block=True)
# 或者
@matcher.handle()
async def handler(matcher: Matcher):
matcher.stop_propagation()
class MatcherException(<auto>)
-
说明: 所有 Matcher 发生的异常基类。
-
参数
auto
class PausedException(<auto>)
-
说明
指示 NoneBot 结束当前
Handler
并等待下一条消息后继续下一个Handler
。 可用于用户输入新信息。可以在
Handler
中通过 Matcher.pause 抛出。 -
参数
auto
-
用法
@matcher.handle()
async def handler():
await matcher.pause("some message")
class RejectedException(<auto>)
-
说明
指示 NoneBot 结束当前
Handler
并等待下一条消息后重新运行当前Handler
。 可用于用户重新输入。可以在
Handler
中通过 Matcher.reject 抛出。 -
参数
auto
-
用法
@matcher.handle()
async def handler():
await matcher.reject("some message")
class FinishedException(<auto>)
-
说明
指示 NoneBot 结束当前
Handler
且后续Handler
不再被运行。可用于结束用户会话。可以在
Handler
中通过 Matcher.finish 抛出。 -
参数
auto
-
用法
@matcher.handle()
async def handler():
await matcher.finish("some message")
class AdapterException(<auto>)
-
说明: 代表
Adapter
抛出的异常,所有的Adapter
都要在内部继承自这个Exception
。 -
参数
adapter_name
: 标识 adapter
class NoLogException(<auto>)
-
说明
指示 NoneBot 对当前
Event
进行处理但不显示 Log 信息。可在 Event.get_log_string 时抛出
-
参数
auto
class ApiNotAvailable(<auto>)
-
说明: 在 API 连接不可用时抛出。
-
参数
auto
class NetworkError(<auto>)
-
说明: 在网络出现问题时抛出, 如: API 请求地址不正确, API 请求无返回或返回状态非正常等。
-
参数
auto
class ActionFailed(<auto>)
-
说明: API 请求成功返回数据,但 API 操作失败。
-
参数
auto
class DriverException(<auto>)
-
说明:
Driver
抛出的异常基类。 -
参数
auto
class WebSocketClosed(<auto>)
-
说明: WebSocket 连接已关闭。
-
参数
auto