Как я могу получить трассировку стека исключения вместе с сообщением об ошибке по умолчанию в Microsoft Botframework SDK V4 с помощью C # - PullRequest
0 голосов
/ 25 марта 2019

Я создал бота в microsoft botframework sdk v4, используя c #, и он работает хорошо, но когда я получаю любую ошибку, он просто показывает «извините, похоже, что-то пошло не так».Я хочу получить трассировку стека исключения вместе с этим сообщением по умолчанию.Как я могу получить это.

заранее спасибо,

1 Ответ

1 голос
/ 26 марта 2019

Я не понимаю, почему вы хотите показать трассировку всего стека как ответ вашего бота обычному пользователю, но в случае, если это только для тестирования, вы можете просто изменить обработчик OnTurnError.Обычно это можно найти в вашем Startup.cs классе.

// Catches any errors that occur during a conversation turn and logs them.
options.OnTurnError = async (context, exception) =>
{
    logger.LogError($"Exception caught : {exception}");
    await context.SendActivityAsync("Sorry, it looks like something went wrong.");
};

Оттуда вы можете использовать exception.StackTrace в своем сообщении.

Если вы хотите использовать это в производстве, не делайте этого .Вместо этого перейдите на TelemetryClient, такой как Application Insights , и отследите исключения там.Таким образом, вы можете опубликовать приятное и удобное сообщение об ошибке (если оно есть), сохраняя при этом некоторую информацию журнала в бэкэнде для устранения проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...