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