Google Apps Script:
Обробка помилок

Як:

Google Apps Script, будучи заснованим на JavaScript, дозволяє нам використовувати традиційне вираз try-catch для обробки помилок, разом з finally, якщо потрібне очищення незалежно від успіху або помилки.

function myFunction() {
  try {
    // Код, який може викликати помилку
    var sheet = SpreadsheetApp.getActiveSheet();
    var data = sheet.getRange("A1").getValue();
    if (data === "") {
      throw new Error("Cell A1 is empty.");
    }
    Logger.log(data);
  } catch (e) {
    // Код обробки помилок
    Logger.log("Error: " + e.message);
  } finally {
    // Код очищення, який виконується, чи сталася помилка, чи ні
    Logger.log("Function completed.");
  }
}

Зразок виводу без помилки:

[Значення клітинки]
Function completed.

Зразок виводу з помилкою (припускаючи, що A1 порожня):

Error: Cell A1 is empty.
Function completed.

Google Apps Script також підтримує генерацію власних помилок за допомогою об’єкта Error та перехоплення специфічних типів помилок, якщо це необхідно. Проте, відсутність розширеної категоризації помилок робить суттєвим покладання на повідомлення про помилки для конкретизації.

Поглиблений огляд

Історично обробка помилок у мовах сценаріїв, таких як JavaScript (та, відповідно, Google Apps Script), була менш вдосконаленою, ніж у деяких компільованих мовах, які пропонують такі можливості, як детальні ієрархії винятків та всебічні інструменти для налагодження. Модель Google Apps Script відносно проста, використовуючи парадигму try-catch-finally з JavaScript. Ця простота узгоджується з дизайном мови для швидкої розробки та розгортання додатків невеликого до середнього масштабу в екосистемі Google, але іноді може обмежувати розробників, які стикаються зі складними сценаріями помилок.

У більш складних додатках програмісти часто доповнюють рідну обробку помилок у Google Apps Script власними механізмами логування та повідомлення про помилки. Це може включати запис помилок до Google Sheet для аудиту або використання сторонніх служб логування через URL Fetch Services від Google Apps Script для відправлення деталей помилок за межі середовища скрипта.

Хоча Google Apps Script може відставати від мов, таких як Java чи C#, з точки зору вбудованої складності та можливостей обробки помилок, його інтеграція з сервісами Google та простота підходу try-catch-finally роблять його потужним інструментом для розробників, які швидко автоматизують завдання та створюють інтеграції в екосистемі Google. Розробники з інших областей можуть знайти виклик не в освоєнні складних моделей обробки помилок, а в творчому використанні доступного для забезпечення надійності та зручності своїх скриптів.