エラーを効果的に処理するには、発生する可能性のあるエラーの種類を理解することが不可欠です。まずは、発生する可能性のあるエラーを分類することから始めましょう。
さまざまな種類のエラーが発生する可能性があります。ただし、これらのエラーは通常、次の 2 つのカテゴリに分類できます。
これまで説明してきたエラーをこれらの分類に分類してみましょう。
明確なステータス コードを持つサーバー API から受信したエラーは、事前に予測して対処できるため、予想されるエラーと見なすことができます。
例えば、不正アクセス(401)や禁止アクセス(403)などのエラーに対して、状況に応じて適切に対処することができます。また、エラーに応答してアプリケーション ロジックを管理するために、ステータス コードごとにさらに詳細なエラー コードを定義することも一般的です。これらは予期されるエラーと呼ばれます。
一方、500 範囲のサーバー エラーは、予測不可能であるため、予期しないエラー として分類されます。何らかの理由でサーバーが応答できない状況はいつでも発生する可能性があります。また、ユーザーのネットワーク環境やブラウザ環境によって発生する可能性のあるエラーは予測が難しいため、予期しないエラーとして分類されます。
エラーは、環境だけでなく、ユーザーとの対話に基づいて分類することもできます。エラーを分類する 1 つの方法は、ユーザーがエラーに対して何かできるかどうかを検討することです。この分類の基準は次のとおりです:
たとえば、認証または認可エラーがこのカテゴリに分類されます。ログインしていないユーザーは、401 ステータス エラーが発生する可能性があります。この場合、ログイン画面を提供するか、ログインが必要であることを示すメッセージを表示できます。
ユーザーが特定の画面にアクセスする権限を持っていない場合は、管理者からのアクセスをリクエストするようにユーザーを誘導できます。
ユーザーの放棄を歓迎する製品開発者はいません。エラーが発生したユーザーに状況を克服するためのガイダンスを提供することが不可欠です。たとえば、一時的なネットワーク エラーに対する更新ボタンや、存在しないページにアクセスしたときに前の画面に戻るボタンを提供します。
ただし、エラー状況をユーザーに通知してもまったく役に立たない場合もあります。たとえば、低スペックのデバイスやブラウザでは動作しないコンポーネントがコードに含まれている場合、ユーザーはそれに対して何もすることができません。 (おそらく別のブラウザの使用を示唆するメッセージ?)
ケース 1 とケース 2 の両方に、メッセージの提供が含まれます。違いは、ケース 1 には、ユーザーに手順の実行を促すアクションまたはガイダンスが含まれていることです。
発生したエラーはユーザーが自分で解決できるものですか?
では、発生したエラーにはどのように対処すればよいのでしょうか?エラーが発生した場合、アプリケーションはユーザーにどのようなインターフェイスを提供する必要がありますか?さまざまなタイプのエラーにその特性に基づいて対処する方法を見てみましょう。
典型的な例はネットワークエラーです。これらは、ユーザーのネットワーク環境に応じて、いつでも発生する可能性があります。最も簡単な解決策は、これが「一時的なエラー」であることをユーザーに通知し、前のアクションを再試行するためのガイダンスを提供することです。
これらのエラーについては、アプリケーション全体に悪影響が及ばないようにすることが重要です。たとえば、アプリケーションが 1 つの画面で 10 個の API を呼び出した場合、1 つの API が失敗しても、アプリケーション全体でエラー メッセージがトリガーされることはなく、すべての呼び出しを再試行する必要があります。
代わりに、障害が発生した領域のみを回復することに重点を置きます。
これらは予期することが困難なエラーであり、簡単な解決策はありません。このようなエラーは開発中に最小限に抑える必要があり、エラーが発生した場合の処理計画を立てておく必要があります。ユーザーはこれらのエラーを自分で解決できないため、カスタマー サポートに簡単に連絡できる方法を提供することが必要になる場合があります。
開発者の制御が及ばないエラーは、Sentry などのツールを使用して監視する必要があります。ユーザーがこれらのエラーに遭遇しないようにするには、これらのエラーを修正する必要があります。さらに、そのようなエラーが発生した場合にユーザーがアプリケーションに戻るメカニズムがあることを確認してください。
これらは既知のエラーであり、ユーザーが利用できる解決策はありません。ユーザーが自分で問題を解決できない場合は、エラー処理の機会を逃していることを意味します。ユーザーが意図的に異常なアクションを実行した場合、それはセキュリティ上の脆弱性の兆候である可能性があります。
これらのエラーは、アプリケーションを悪用する悪意がある場合に発生します。これらは通常、セキュリティの脆弱性に起因するものであり、開発中に防止する必要があります。 CORS や XSS などの基本的なセキュリティの問題に対処し、セキュリティ チームと協力して安全なアプリケーションを構築することが重要です。
これらのエラーは通常、開発者がすでに認識しているビジネス ロジックの一部です。
このような場合は、アプリケーション内で適切なガイダンスを提供するか、ユーザーを誘導するための別のページを作成してください。
ユーザーは、エラー メッセージが表示された後に次に何をすべきかを明確に理解する必要があります。これにより、エラーの頻度が減り、ユーザーの放棄を防ぐことができます。したがって、エラー メッセージと一緒に行動喚起を含めることが重要です。
たとえば、フィールド検証エラーがある場合は、エラーが発生したフィールドに注目します。ユーザーが存在しないページに移動した場合は、前の画面に戻るボタンを提供します。
エラー処理について調べました。エラー監視ツールや限られた範囲のエラーをキャッチできるReactのErrorBoundaryなど、さまざまなツールやテクノロジーを活用して効率的にエラーを管理しましょう。
以上がクライアント中心のエラー処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。