クライアント中心のエラー処理

DDD
リリース: 2024-09-13 10:30:30
オリジナル
666 人が閲覧しました

Client-Centered Error Handling

エラーの理解と処理

エラーを効果的に処理するには、発生する可能性のあるエラーの種類を理解することが不可欠です。まずは、発生する可能性のあるエラーを分類することから始めましょう。

Web クライアント環境におけるエラーの種類

ネットワークエラー

  • 接続の問題: サーバーへの接続の確立に関する問題。
  • タイムアウト: リクエストが応答を受け取るまでに時間がかかりすぎます。
  • DNS エラー: ドメイン名解決に関する問題。
  • HTTP エラー: 404 Not Found、500 Internal Server Error などのエラー

サーバーAPIエラー

  • 無効な応答: サーバーからの予期しないデータまたは不正なデータ。
  • 認証エラー: ユーザーの認証または認可に関する問題。
  • レート制限: API 使用制限の超過による制限。

ユーザーのブラウザ環境エラー

  • ブラウザの互換性: ブラウザによる特定の機能の処理方法の違いから生じる問題。
  • JavaScript エラー: クライアント側の JavaScript コードのエラー。
  • リソース読み込みエラー: 画像、スクリプト、スタイルシートなどのリソースの読み込み時に問題が発生します。

その他のエラー

  • クライアント側エラー: ユーザーのデバイスまたはオペレーティング システムに関連するエラー。
  • UI/UX エラー: リンク切れやレイアウトの誤りなど、ユーザー インターフェイスまたはユーザー エクスペリエンスに関する問題。

さまざまな種類のエラーが発生する可能性があります。ただし、これらのエラーは通常、次の 2 つのカテゴリに分類できます。

  1. 予期されるエラー: 発生と性質が事前にわかっているエラー。
  2. 予期しないエラー: 発生や性質が事前に不明なエラー。

これまで説明してきたエラーをこれらの分類に分類してみましょう。

エラーは予測できるかどうか?

予期されるエラー

明確なステータス コードを持つサーバー API から受信したエラーは、事前に予測して対処できるため、予想されるエラーと見なすことができます。

例えば、不正アクセス(401)や禁止アクセス(403)などのエラーに対して、状況に応じて適切に対処することができます。また、エラーに応答してアプリケーション ロジックを管理するために、ステータス コードごとにさらに詳細なエラー コードを定義することも一般的です。これらは予期されるエラーと呼ばれます。

予期しないエラー

一方、500 範囲のサーバー エラーは、予測不可能であるため、予期しないエラー として分類されます。何らかの理由でサーバーが応答できない状況はいつでも発生する可能性があります。また、ユーザーのネットワーク環境やブラウザ環境によって発生する可能性のあるエラーは予測が難しいため、予期しないエラーとして分類されます。

ユーザーとエラー

エラーは、環境だけでなく、ユーザーとの対話に基づいて分類することもできます。エラーを分類する 1 つの方法は、ユーザーがエラーに対して何かできるかどうかを検討することです。この分類の基準は次のとおりです:

  1. ユーザーが理解して解決できるエラー (ユーザーがアプリケーションを使い続けるのに役立つエラー)。
  2. ユーザーが解決できないエラー (ユーザーに何の支援も提供しないエラー)。

解決可能なエラー

たとえば、認証または認可エラーがこのカテゴリに分類されます。ログインしていないユーザーは、401 ステータス エラーが発生する可能性があります。この場合、ログイン画面を提供するか、ログインが必要であることを示すメッセージを表示できます。

ユーザーが特定の画面にアクセスする権限を持っていない場合は、管理者からのアクセスをリクエストするようにユーザーを誘導できます。

ユーザーの放棄を歓迎する製品開発者はいません。エラーが発生したユーザーに状況を克服するためのガイダンスを提供することが不可欠です。たとえば、一時的なネットワーク エラーに対する更新ボタンや、存在しないページにアクセスしたときに前の画面に戻るボタンを提供します。

解決できないエラー

ただし、エラー状況をユーザーに通知してもまったく役に立たない場合もあります。たとえば、低スペックのデバイスやブラウザでは動作しないコンポーネントがコードに含まれている場合、ユーザーはそれに対して何もすることができません。 (おそらく別のブラウザの使用を示唆するメッセージ?)

ケース 1 とケース 2 の両方に、メッセージの提供が含まれます。違いは、ケース 1 には、ユーザーに手順の実行を促すアクションまたはガイダンスが含まれていることです。

発生したエラーはユーザーが自分で解決できるものですか?

エラーの処理方法

では、発生したエラーにはどのように対処すればよいのでしょうか?エラーが発生した場合、アプリケーションはユーザーにどのようなインターフェイスを提供する必要がありますか?さまざまなタイプのエラーにその特性に基づいて対処する方法を見てみましょう。

予測不可能だが解決可能なエラー

典型的な例はネットワークエラーです。これらは、ユーザーのネットワーク環境に応じて、いつでも発生する可能性があります。最も簡単な解決策は、これが「一時的なエラー」であることをユーザーに通知し、前のアクションを再試行するためのガイダンスを提供することです。

誤差範囲

これらのエラーについては、アプリケーション全体に悪影響が及ばないようにすることが重要です。たとえば、アプリケーションが 1 つの画面で 10 個の API を呼び出した場合、1 つの API が失敗しても、アプリケーション全体でエラー メッセージがトリガーされることはなく、すべての呼び出しを再試行する必要があります。

代わりに、障害が発生した領域のみを回復することに重点を置きます。

予測不可能で解決できないエラー

これらは予期することが困難なエラーであり、簡単な解決策はありません。このようなエラーは開発中に最小限に抑える必要があり、エラーが発生した場合の処理​​計画を立てておく必要があります。ユーザーはこれらのエラーを自分で解決できないため、カスタマー サポートに簡単に連絡できる方法を提供することが必要になる場合があります。

監視

開発者の制御が及ばないエラーは、Sentry などのツールを使用して監視する必要があります。ユーザーがこれらのエラーに遭遇しないようにするには、これらのエラーを修正する必要があります。さらに、そのようなエラーが発生した場合にユーザーがアプリケーションに戻るメカニズムがあることを確認してください。

予測可能だが解決できないエラー

これらは既知のエラーであり、ユーザーが利用できる解決策はありません。ユーザーが自分で問題を解決できない場合は、エラー処理の機会を逃していることを意味します。ユーザーが意図的に異常なアクションを実行した場合、それはセキュリティ上の脆弱性の兆候である可能性があります。

セキュリティ関連のエラー

これらのエラーは、アプリケーションを悪用する悪意がある場合に発生します。これらは通常、セキュリティの脆弱性に起因するものであり、開発中に防止する必要があります。 CORS や XSS などの基本的なセキュリティの問題に対処し、セキュリティ チームと協力して安全なアプリケーションを構築することが重要です。

予測可能かつ解決可能なエラー

これらのエラーは通常、開発者がすでに認識しているビジネス ロジックの一部です。

  • 401 不正エラー: ログインが必要です。
  • 404 Not Found エラー: 間違ったページにアクセスしています。
  • その他のビジネス ロジック エラー: アプリケーションのロジックによって定義されます。

このような場合は、アプリケーション内で適切なガイダンスを提供するか、ユーザーを誘導するための別のページを作成してください。

指導の重要性

ユーザーは、エラー メッセージが表示された後に次に何をすべきかを明確に理解する必要があります。これにより、エラーの頻度が減り、ユーザーの放棄を防ぐことができます。したがって、エラー メッセージと一緒に行動喚起を含めることが重要です。

たとえば、フィールド検証エラーがある場合は、エラーが発生したフィールドに注目します。ユーザーが存在しないページに移動した場合は、前の画面に戻るボタンを提供します。

結論

Client-Centered Error Handling

エラー処理について調べました。エラー監視ツールや限られた範囲のエラーをキャッチできるReactのErrorBoundaryなど、さまざまなツールやテクノロジーを活用して効率的にエラーを管理しましょう。

以上がクライアント中心のエラー処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!