需要在 Composer 中捕获 HTTP 请求错误

Need to catch HTTP request error in Composer

我在 Composer 1.3 中有一个机器人,我一直使用“发送 HTTP 请求”。一切正常。

但是,如果机器人无法到达端点,它会向用户发回一条消息,指出“无法建立连接,因为目标机器主动拒绝了它。”对话结束。在下面的代码片段中,当 Web 服务不可用时,没有达到第二个跟踪事件。

对于最终用户来说,这是非常难以理解的。

有没有办法捕捉到这个错误,以便我可以以更加用户友好的方式响应用户?我宁愿说系统现在已关闭或无法访问。

您可以使用 'error occured' 对话触发器来捕获任何运行时错误。在该触发器中,您可以发送自定义响应。

如果您需要return向用户提供有关错误的更多信息,请使用对话框错误事件触发器。

您可以从 turn.dialogEvent 触发器内部获取错误的详细信息,例如:

Error: ${turn.dialogEvent.value.name}
Details: ${turn.dialogEvent.value.message}

这已在 Bot Framework Composer v2.1 中测试和工作