5.1 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	sidebar_position, description
| sidebar_position | description | 
|---|---|
| 10 | nonebot.exception 模块 | 
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