Rumah >hujung hadapan web >tutorial js >Pengendalian Ralat Berpusatkan Pelanggan

Pengendalian Ralat Berpusatkan Pelanggan

DDD
DDDasal
2024-09-13 10:30:321274semak imbas

Client-Centered Error Handling

Fehler verstehen und behandeln

Um mit Fehlern effektiv umgehen zu können, ist es wichtig, die Arten von Fehlern zu verstehen, die auftreten können. Beginnen wir mit der Kategorisierung der Fehler, auf die Sie stoßen könnten.

Arten von Fehlern in einer Web-Client-Umgebung

Netzwerkfehler

  • Verbindungsprobleme: Probleme beim Herstellen einer Verbindung zum Server.
  • Zeitüberschreitungen: Es dauert zu lange, bis Anfragen eine Antwort erhalten.
  • DNS-Fehler: Probleme mit der Auflösung des Domänennamens.
  • HTTP-Fehler: Fehler wie 404 nicht gefunden, 500 interner Serverfehler usw.

Server-API-Fehler

  • Ungültige Antworten: Unerwartete oder fehlerhafte Daten vom Server.
  • Authentifizierungsfehler: Probleme mit der Benutzerauthentifizierung oder -autorisierung.
  • Ratenbegrenzung: Einschränkungen aufgrund der Überschreitung der API-Nutzungsgrenzen.

Fehler in der Benutzerbrowserumgebung

  • Browserkompatibilität: Probleme, die sich aus der unterschiedlichen Handhabung bestimmter Funktionen durch Browser ergeben.
  • JavaScript-Fehler: Fehler im clientseitigen JavaScript-Code.
  • Fehler beim Laden von Ressourcen: Probleme beim Laden von Ressourcen wie Bildern, Skripten oder Stylesheets.

Andere Fehler

  • Clientseitige Fehler: Fehler im Zusammenhang mit dem Gerät oder Betriebssystem des Benutzers.
  • UI/UX-Fehler: Probleme mit der Benutzeroberfläche oder dem Benutzererlebnis, z. B. defekte Links oder falsches Layout.

Es können verschiedene Arten von Fehlern auftreten. Diese Fehler können jedoch im Allgemeinen in zwei Kategorien eingeteilt werden:

  1. Erwartete Fehler: Fehler, bei denen das Auftreten und die Art im Voraus bekannt sind.
  2. Unerwartete Fehler: Fehler, bei denen das Auftreten und die Art nicht im Voraus bekannt sind.

Lassen Sie uns die Fehler, die wir besprochen haben, in diese Klassifizierungen einteilen.

Ist der Fehler vorhersehbar oder nicht?

Erwartete Fehler

Fehler, die von Server-APIs mit eindeutigen Statuscodes empfangen werden, können als erwartete Fehler betrachtet werden, da sie vorhergesehen und im Voraus behoben werden können.

Zum Beispiel können Fehler wie unbefugter Zugriff (401) oder verbotener Zugriff (403) je nach Situation angemessen behandelt werden. Es ist auch üblich, detailliertere Fehlercodes für jeden Statuscode zu definieren, um die Anwendungslogik als Reaktion auf Fehler zu verwalten. Diese werden als erwartete Fehler bezeichnet.

Unerwartete Fehler

Andererseits werden Serverfehler im Bereich von 500 als Unerwartete Fehler klassifiziert, da sie unvorhersehbar sind. Es kann jederzeit zu Situationen kommen, in denen der Server aus irgendeinem Grund nicht antworten kann. Darüber hinaus sind Fehler, die aufgrund der Netzwerkumgebung oder Browserumgebung des Benutzers auftreten können, schwer vorherzusagen und werden daher als unerwartete Fehler klassifiziert.

Benutzer und Fehler

Fehler können auch anhand der Interaktion mit dem Benutzer und nicht nur anhand der Umgebung klassifiziert werden. Eine Möglichkeit zur Kategorisierung von Fehlern besteht darin, zu prüfen, ob der Benutzer etwas gegen den Fehler unternehmen kann. Hier sind die Kriterien für diese Klassifizierung:

  1. Fehler, die der Benutzer verstehen und beheben kann (Fehler, die dem Benutzer helfen, die Anwendung weiterhin zu verwenden).
  2. Fehler, die der Benutzer nicht beheben kann (Fehler, die dem Benutzer keine Hilfe bieten).

Behebbare Fehler

In diese Kategorie fallen beispielsweise Authentifizierungs- oder Autorisierungsfehler. Bei einem nicht angemeldeten Benutzer kann es zu einem 401-Statusfehler kommen. In diesem Fall können Sie einen Anmeldebildschirm bereitstellen oder eine Meldung anzeigen, dass eine Anmeldung erforderlich ist.

Wenn ein Benutzer keine Berechtigung zum Zugriff auf einen bestimmten Bildschirm hat, können Sie ihn anweisen, den Zugriff von einem Administrator anzufordern.

Kein Produktentwickler begrüßt die Aufgabe des Benutzers. Es ist wichtig, Benutzern, die auf Fehler stoßen, Anleitung zu geben, um ihnen bei der Bewältigung der Situation zu helfen. Stellen Sie beispielsweise eine Aktualisierungsschaltfläche für vorübergehende Netzwerkfehler oder eine Schaltfläche zum Zurücknavigieren zum vorherigen Bildschirm bereit, wenn Sie auf eine nicht vorhandene Seite zugreifen.

Unlösbare Fehler

Es gibt jedoch Fälle, in denen es überhaupt nicht hilft, den Benutzer über die Fehlersituation zu informieren. Wenn der Code beispielsweise Komponenten enthält, die auf Geräten oder Browsern mit geringer Ausstattung nicht funktionieren, kann der Benutzer nichts dagegen tun. (Vielleicht eine Meldung, die die Verwendung eines anderen Browsers vorschlägt?)

In beiden Fällen, 1 und 2, ist die Übermittlung einer Nachricht erforderlich. Der Unterschied besteht darin, dass Fall 1 eine Aktion oder Anleitung enthält, die den Benutzer dazu auffordert, Schritte zu unternehmen.

Kann der Benutzer den aufgetretenen Fehler selbst beheben oder nicht?

Cara Mengendalikan Ralat

Jadi, bagaimana kita harus menangani ralat yang berlaku? Apakah jenis antara muka yang perlu disediakan oleh aplikasi kepada pengguna apabila ralat berlaku? Mari terokai cara menangani pelbagai jenis ralat berdasarkan cirinya.

Ralat yang tidak dapat diramalkan tetapi boleh diselesaikan

Contoh biasa ialah ralat rangkaian. Ini boleh berlaku pada bila-bila masa bergantung pada persekitaran rangkaian pengguna. Penyelesaian paling mudah ialah memaklumkan pengguna bahawa ia adalah 'ralat sementara' dan memberikan panduan untuk mencuba semula tindakan sebelumnya.

Julat ralat

Untuk ralat ini, adalah penting untuk memastikan bahawa aplikasi secara keseluruhan tidak terjejas. Sebagai contoh, jika aplikasi memanggil 10 API pada satu skrin, gagal tidak seharusnya mencetuskan mesej ralat merentas keseluruhan aplikasi dan memerlukan percubaan semula semua panggilan.

Sebaliknya, fokus pada memulihkan hanya kawasan yang gagal.

Ralat yang tidak dapat diramal dan tidak dapat diselesaikan

Ini adalah ralat yang sukar dijangka dan tidak mempunyai penyelesaian yang jelas. Ralat sedemikian harus diminimumkan semasa pembangunan, dan perlu ada rancangan untuk mengendalikannya apabila ia berlaku. Memandangkan pengguna tidak dapat menyelesaikan sendiri ralat ini, menyediakan cara mudah untuk menghubungi sokongan pelanggan mungkin diperlukan.

Pemantauan

Ralat di luar kawalan pembangun harus dipantau menggunakan alatan seperti Sentry. Ralat ini perlu diperbaiki untuk mengelakkan pengguna daripada menghadapinya. Selain itu, pastikan terdapat mekanisme untuk pengguna kembali ke aplikasi jika mereka menghadapi ralat sedemikian.

Ralat yang boleh diramal tetapi tidak boleh diselesaikan

Ini adalah ralat yang diketahui yang tiada penyelesaian tersedia untuk pengguna. Jika pengguna tidak dapat menyelesaikannya sendiri, ini menunjukkan peluang yang terlepas untuk pengendalian ralat. Jika pengguna sengaja melakukan tindakan yang tidak normal, ini boleh menjadi tanda kelemahan keselamatan.

Ralat Berkaitan Keselamatan

Ralat ini berlaku apabila terdapat niat jahat untuk mengeksploitasi aplikasi. Ia biasanya berpunca daripada kelemahan keselamatan dan harus dicegah semasa pembangunan. Adalah penting untuk menangani kebimbangan asas keselamatan seperti CORS dan XSS dan bekerjasama dengan pasukan keselamatan untuk membina aplikasi selamat.

Ralat Boleh Diramal dan Boleh Selesaikan

Ralat ini biasanya sebahagian daripada logik perniagaan yang sudah diketahui oleh pembangun:

  • 401 Ralat Tanpa Kebenaran: Memerlukan log masuk.
  • Ralat 404 Tidak Ditemui: Mengakses halaman yang salah.
  • Ralat logik perniagaan lain: Ditakrifkan oleh logik aplikasi.

Dalam kes ini, berikan panduan yang sesuai dalam aplikasi atau buat halaman berasingan untuk mengarahkan pengguna.

Kepentingan Bimbingan

Pengguna harus memahami dengan jelas perkara yang perlu dilakukan seterusnya selepas menemui mesej ralat. Ini membantu mengurangkan kekerapan ralat dan menghalang pengabaian pengguna. Oleh itu, di samping mesej ralat, adalah penting untuk menyertakan seruan untuk bertindak.

Sebagai contoh, jika terdapat ralat pengesahan medan, fokus pada medan tempat ralat itu berlaku. Jika pengguna menavigasi ke halaman yang tidak wujud, berikan butang untuk kembali ke skrin sebelumnya.

Kesimpulan

Client-Centered Error Handling

Kami meneroka pengendalian ralat. Mari kita urus ralat dengan cekap dengan menggunakan pelbagai alatan dan teknologi seperti alat pemantauan ralat dan React's ErrorBoundary, yang boleh menangkap ralat dalam skop yang terhad.

Atas ialah kandungan terperinci Pengendalian Ralat Berpusatkan Pelanggan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn