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.
Es können verschiedene Arten von Fehlern auftreten. Diese Fehler können jedoch im Allgemeinen in zwei Kategorien eingeteilt werden:
Lassen Sie uns die Fehler, die wir besprochen haben, in diese Klassifizierungen einteilen.
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.
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.
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:
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.
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?
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.
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.
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.
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.
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.
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 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 ini biasanya sebahagian daripada logik perniagaan yang sudah diketahui oleh pembangun:
Dalam kes ini, berikan panduan yang sesuai dalam aplikasi atau buat halaman berasingan untuk mengarahkan pengguna.
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.
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!