在botframework网站上的模拟器和网络聊天测试之间似乎没有正确处理C#bot框架异常

问题描述 投票:-1回答:1

到目前为止,我有以下代码用于检查LUIS JSON响应是否包含实体

public static class StatusHelper
{        
    public static bool EntityCheck(LuisResult result)
    {
        try
        {
            var statuscheck = result.Entities[0].Entity;
            return true;
        } catch (Exception)
        {
            return false;
        }
    }
}

在我使用的另一个文件中

if (StatusHelper.EntityCheck(LuisResult result)) 
{

//code

}
else 
{
    await context.PostAsync("No Entities");
}

在我的机器人模拟器中,如果没有找到实体,它会让机器人说

No Entities

但是在dev.botframework.com网站上会说

Sorry, my bot code is having an issue.

我不确定这里发生了什么

c# botframework chatbot luis web-chat
1个回答
1
投票

如果有值,为什么要使用Exception throw进行测试?你不能只检查你的结果和数组中的一些实体,然后检查第一个实体是否不是如下所示:

public static bool EntityCheck(LuisResult result)
{
    return (result.Entities.Count > 0 && result.Entities[0].Entity != null);
}
© www.soinside.com 2019 - 2024. All rights reserved.