出现异常“ [catch_all] CatchAll级别1触发错误”消息后,但从未调用级别1动作

时间:2018-07-12 12:03:48

标签: ruby chatbot

我正在使用Stealth创建一个简单的聊天机器人。

例如,如果我的hellosController中发生异常,则显示消息CatchAll level1 triggered for error,但从不调用leve1动作。我进行了更深入的研究,对我来说,lib/stealth/controller/catch_all.rb:16 CatchAllFlow未定义,而必须输入if condition

要复制

重现行为的步骤: 1.创建一个新项目stealth new teste 2.添加gem'stealth-facebook'并进行配置。 3.在HellosController-> say_hello中添加一个例外示例,例如1/0

class HellosController < BotController
  def say_hello
    1/0
    send_replies
  end
end
  1. 在Messenger上发送一条简单消息
  2. 已显示 [catch_all] CatchAll level1 triggered for error-1540684789327149-hello-say_hello: divided by 0 但是从不调用level1动作。

预期的行为

应该调用CatchAll-> level1动作?

桌面(请填写以下信息):  -作业系统:Ubuntu  -浏览器Chrome

其他上下文

生成的FlowMap

class FlowMap

  include Stealth::Flow

  flow :hello do
    state :say_hello
  end

  flow :goodbye do
    state :say_goodbye
  end

  flow :catch_all do
    state :level1
  end

end

如何定义异常后如何强制隐身执行CatchAllFlow操作中的level1

0 个答案:

没有答案