Bot 异常

TIP

在查看此部分内容前,你应当已经阅读文档中的“进阶”部分

在 MeloBot 中,要使用 Bot 内定义的一些异常,可以导入:

from utils.globalPattern import *

这些异常都会以 Bot... 开头。当然你也可以继承 BotException 基类,进行新异常的定义。

需要注意的是,这些异常都会携带两个属性,它们拥有不同的含义(为了方便不同情境下的操作):

  • err:人性化异常提示,包含类名
  • origin_err:不包含类名的异常提示

另外,在这些异常中,BotCmdWrongParams 异常在命令模板中有特别的用法。你可以在命令模板中抛出这个异常,表示当前命令的参数存在问题,此时这个抛出的异常会被命令接口捕获,命令接口会根据你设置的提示语,自动生成一条回复消息,作为命令执行失败的反馈。例如下面的例子:

# 命令模板中:
raise BotCmdWrongParams("天气查询命令参数中的城市不存在")
# 最后将自动回复消息:
天气查询命令参数中的城市不存在

需要注意的是,这里手动抛出 BotCmdWrongParams 异常可以实现自定义错误反馈的效果。但是如果是命令模板执行时,因为参数不足或者参数类型错误而自动抛出 TypeError 或 ValueError,此时的反馈是不可自定义的。命令接口会自动捕获这两种异常,并且只回复:“参数有误哦~”

Last Updated:
Contributors: AiCorein