Heim >Web-Frontend >js-Tutorial >Vereinfachen Sie die Fehlerbehandlung in JavaScript mit Untry

Vereinfachen Sie die Fehlerbehandlung in JavaScript mit Untry

Patricia Arquette
Patricia ArquetteOriginal
2024-10-16 06:23:02656Durchsuche

Simplifying Error Handling in JavaScript with Untry

Fehlerbehandlung ist ein entscheidender Aspekt der Softwareentwicklung, um sicherzustellen, dass Anwendungen stabil und benutzerfreundlich bleiben. Allerdings kann die Fehlerverwaltung in JavaScript umständlich und zeitaufwändig sein. Hier kommt Untry ins Spiel – eine schlanke Bibliothek, die die Fehlerbehandlung vereinfacht.

JavaScript-Fehlerbehandlung.

Die JavaScript-Fehlerbehandlung basiert auf Try-Catch-Blöcken, die unhandlich und schwierig zu verwalten sein können, insbesondere wenn es um verschachtelte asynchrone Aufrufe geht. Dieser Ansatz kann zu Folgendem führen:

  • Unbehandelte Fehler bleiben unbeachtet
  • Schwierigkeiten beim Bereinigen von Ressourcen, nachdem Fehler aufgetreten sind
  • Code voller Fehlerbehandlungslogik

Übermäßig komplexe und tief verschachtelte Try-Catch-Blöcke führen zu einem Wartungsalptraum. Der Versuch, Fehler mithilfe mehrerer Ebenen von Try-Catch-Anweisungen zu behandeln, führt zu Codeverschleierung, Fehlermaskierung und verschluckten Ausnahmen. Asynchroner Code und Rückrufe verschärfen das Problem.

Sehen wir uns ein Beispiel an, wie komplex die Try-Catch-Fehlerbehandlung in JavaScript werden kann. Nehmen Sie einen E-Commerce-API-Endpunkt, der Produktdetails abruft:

app.get('/product/:id', async (req, res) => {
   try {
      const product = await fetchProduct(req.params.id)
      const reviews = await fetchReviews(req.params.id)
      res.json({ product, reviews })
   } catch (error) {
      res.status(500).send('Something went wrong!')
   }
});

Wenn entweder fetchProduct oder fetchReviews fehlschlägt, wird dieselbe generische Antwort zurückgegeben.

Lassen Sie uns so umgestalten, dass wir Fehler für jeden asynchronen Aufruf individuell behandeln und entscheiden können, was in jedem Fall zu tun ist:

app.get('/product/:id', async (req, res) => {
   let product
   let reviews
   let productError
   let reviewsError

   // product
   try {
      product = await fetchProduct(req.params.id)
   } catch (error) {
      productError = error
   }

   if (productError) {
      res.status(500).json({ error: productError })
      return
   }

   // reviews
   try {
      reviews = await fetchReviews(req.params.id)
   } catch (error) {
      reviewsError = error
   }

   if (reviewsError) {
      res.status(500).json({ error: reviewsError })
      return
   }

   // final response
   res.json({ product, reviews })
})

Jetzt behandelt der Code jeden Fall separat, obwohl er weniger lesbar und daher weniger wartbar erscheint.

Machen wir es möglich, jeden Fall separat zu behandeln, ohne die Lesbarkeit zu beeinträchtigen, indem wir Untry verwenden:

app.get('/product/:id', async (req, res) => {
   let [product, productError] = await untry(() => fetchProduct(req.params.id))
   if (productError) {
      res.status(500).json({ error: productError })
      return
   }

   let [reviews, reviewsError] = await untry(() => fetchReviews(req.params.id))
   if (reviewsError) {
      res.status(500).json({ error: reviewsError })
      return
   }

   res.json({ product, reviews })
})

Was ist Untry?

Untry ist eine leichte JavaScript-Bibliothek, die von der Fehlerbehandlungsphilosophie von Go inspiriert ist. Dieser Ansatz eliminiert den Try-Catch-Fluss. Ermöglicht die explizite Fehlerverwaltung unter Verwendung von Fehlern als Wert, nicht als Ausnahme.

So funktioniert Untry

Untry führt eine Funktion aus, fängt alle darin enthaltenen Fehler ab und gibt ein Array zurück, das den resultierenden Wert und alle ausgegebenen Fehler enthält. Es handelt sich um eine einfache Lösung zur Fehlerverwaltung, die Ihren Code robuster, lesbarer und wartbarer macht.

import untry from 'untry';

let [value, error] = untry(() => {
  // code that might throw an error
});

Hauptvorteile

  • Vereinfachte Fehlerbehandlung
  • Explizites Fehlermanagement
  • Einfache Bereinigung bei Fehlern
  • Anpassbare Fehlerbehandlung
  • Optimieren Sie Ihre Entwicklung

Mit Untry können Sie:

  • Schreiben Sie robusteren Code
  • Fehlerbehandlungsbausteine ​​reduzieren
  • Entkomme und versuche die Hölle zu fangen

NPM-Paket: https://www.npmjs.com/package/untry

Das obige ist der detaillierte Inhalt vonVereinfachen Sie die Fehlerbehandlung in JavaScript mit Untry. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn