官术网_书友最值得收藏!

External APIs

Every time you deal with anything outside of your code, there is a risk that it will error. This might be a third-party API, your own API, or simply a query to a database. You should always write these requests so that if the request returns an error, you fully deal with it. This means logging what the error was and where it took place and making sure that the chatbot still works when an error occurs.

Making sure that the chatbot still works when an error occurs is really important as no one wants to talk to a chatbot that just stops talking to you halfway through the conversation. To make sure this doesn't happen, you have three options: create error messages for every external call you make, let all errors flow down to a very low-level error handler that sends a generic We had an error message, or a combination of the two. The idea would be using custom messages for every error that could happen but as your chatbot becomes larger and more complicated, that can become very time-consuming.

An effective method for dealing with the errors is to create a low-level error handler that passes a generic error message unless a specific error message is provided. This gives you the flexibility to let the user know exactly what went wrong when it matters but saves you having to create lots of similar error messages:

try {
let result = AccessPeopleAPI();
if (result === null || typeof result !== 'number'){
throw 'I've failed to get the number of people';
}
return 'We have ' + result + ' people in the building';
} catch (error) {
console.log(error || 'The system has had an error');
return error || "Unfortunately I've had an error";
}
主站蜘蛛池模板: 霍林郭勒市| 三穗县| 美姑县| 西华县| 东平县| 阿勒泰市| 乌兰县| 汕头市| 嘉义市| 福安市| 敖汉旗| 邢台市| 伊川县| 屏山县| 青川县| 罗定市| 和平区| 正蓝旗| 枝江市| 新丰县| 桓仁| 宿州市| 嘉禾县| 泗洪县| 虞城县| 蓝田县| 习水县| 和田市| 丰原市| 泸水县| 辉南县| 延川县| 平果县| 阜康市| 东方市| 鄂托克旗| 彝良县| 祁门县| 桦南县| 哈巴河县| 大同市|