Обработка ошибок в Apps Script может обрабатываться как инструментами устранения неполадок JavaScript, так и Apps Script.
function myFunction() {
try{
//Some code
}catch(e) {
//Code to run only if there is an error
console.error("Error: " + e + "Stack: " + e.stack);//Send to StackDriver
myErrorHandlingFunction(e);
}
}
Функция обработки ошибок:
function myErrorHandlingFunction(e) {
var body,errMsg, recipient,stack;
if (!e) {
return;
}
errMsg = e.message;
stack = e.stack;
recipient = Session.getEffectiveUser().getEmail();
subject = "Error in Code";
body = 'The error is: ' + errMsg + "\n\nStack:" + stack;
GmailApp.sendEmail(recipient, subject, body);
}
Буква e
в скобкахявляется «объектом исключения», который содержит сообщение об ошибке JavaScript и «стек».Если блок catch запускает код, то выполнение не удалось.Вам не нужно проверять, провалился ли он или нет.Чтобы получить сообщение об ошибке, используйте e.message
, а для получения стека - e.stack
.
Возможно, вы захотите отправить информацию об ошибке в службу Apps Script StackDriver и / или обработать ошибку с помощью собственного кода.