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("Ячейка A1 пуста.");
    }
    Logger.log(data);
  } catch (e) {
    // Код обработки ошибок
    Logger.log("Ошибка: " + e.message);
  } finally {
    // Код очистки, выполняемый независимо от того, произошла ошибка или нет
    Logger.log("Функция завершена.");
  }
}

Пример вывода без ошибки:

[Значение ячейки]
Функция завершена.

Пример вывода с ошибкой (предполагая, что A1 пуст):

Ошибка: Ячейка A1 пуста.
Функция завершена.

Google Apps Script также поддерживает создание пользовательских ошибок с использованием объекта Error и перехват конкретных типов ошибок при необходимости. Однако отсутствие продвинутой категоризации ошибок делает необходимым опираться на сообщения об ошибках для специфичности.

Глубокое погружение

Исторически, обработка ошибок в языках сценариев, таких как JavaScript (и, соответственно, Google Apps Script), была менее сложной, чем в некоторых компилируемых языках, которые предлагают функции, такие как детализированные иерархии исключений и всеобъемлющие инструменты отладки. Модель Google Apps Script относительно проста, используя парадигму try-catch-finally JavaScript. Эта простота согласуется с концепцией языка для быстрой разработки и развертывания приложений малого и среднего масштаба в экосистеме Google, но иногда может ограничивать разработчиков при работе со сложными сценариями ошибок.

В более сложных приложениях программисты часто дополняют родную обработку ошибок Google Apps Script собственными механизмами логирования и отчетности об ошибках. Это может включать запись ошибок в Google Таблицы для аудита или использование сторонних служб логирования через URL Fetch Services Google Apps Script для отправки деталей ошибок из среды скрипта.

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