Google Apps Script:
Håndtering av feil

Hvordan:

Google Apps Script, som er basert på JavaScript, lar oss bruke den tradisjonelle try-catch-setningen for feilhåndtering, sammen med finally hvis opprydding er nødvendig uavhengig av suksess eller feil.

function myFunction() {
  try {
    // Kode som kan forårsake en feil
    var sheet = SpreadsheetApp.getActiveSheet();
    var data = sheet.getRange("A1").getValue();
    if (data === "") {
      throw new Error("Celle A1 er tom.");
    }
    Logger.log(data);
  } catch (e) {
    // Kode for håndtering av feil
    Logger.log("Feil: " + e.message);
  } finally {
    // Oppryddingskode, utført enten en feil oppstod eller ikke
    Logger.log("Funksjon fullført.");
  }
}

Eksempel på utdata uten feil:

[Cellens verdi]
Funksjon fullført.

Eksempel på utdata med en feil (antatt at A1 er tom):

Feil: Celle A1 er tom.
Funksjon fullført.

Google Apps Script støtter også å kaste egendefinerte feil med Error-objektet og å fange spesifikke feiltyper etter behov. Imidlertid gjør mangel på avansert feilkategorisering det nødvendig å stole på feilmeldinger for spesifisitet.

Dypdykk

Historisk sett har feilhåndtering i skriptspråk som JavaScript (og dermed Google Apps Script) vært mindre sofistikert enn i noen kompilerte språk, som tilbyr egenskaper som detaljerte unntakshierarkier og omfattende feilsøkingsverktøy. Google Apps Scripts modell er relativt grei, ved å utnytte JavaScripts try-catch-finally-paradigme. Denne enkelheten er i tråd med språkets design for å raskt utvikle og distribuere applikasjoner i liten til middels skala innenfor Googles økosystem, men det kan noen ganger begrense utviklere som håndterer komplekse feilscenarier.

I mer komplekse applikasjoner supplementerer programmerere ofte Google Apps Scripts innebygde feilhåndtering med egendefinerte logger og feilrapporteringsmekanismer. Dette kan inkludere å skrive feil til et Google-regneark for revisjon eller å bruke tredjeparts logger-tjenester gjennom Google Apps Scripts URL Fetch Services for å sende feildetaljer ut av skriptmiljøet.

Selv om Google Apps Script kanskje henger etter språk som Java eller C# når det gjelder innebygd kompleksitet og evner i feilhåndtering, gjør integrasjonen med Google-tjenester og enkelheten i try-catch-finally-tilnærmingen det til et kraftig verktøy for utviklere for å raskt automatisere oppgaver og skape integrasjoner innenfor Googles økosystem. Utviklere fra andre bakgrunner kan finne at utfordringen ikke ligger i å mestre komplekse feilhåndteringsmønstre, men i å kreativt utnytte det som er tilgjengelig for å sikre at deres skript er robuste og brukervennlige.