Share via


エラー

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

App Center エラーを使用すると、アプリ内のエラーを処理し、アプリの潜在的な問題を回避できます。 このセクションでは、アプリでエラーをキャッチして報告する方法について説明します。 エラーを使用するタイミングと方法に関するベスト プラクティスの詳細については 、例外に関する公式ドキュメントを参照してください

注意

現在、処理済みエラーは Xamarin プラットフォームでのみサポートされています。

一般情報

アプリケーションで App Center を実行すると、アプリケーションの有効期間中にすべてのエラーが報告されます。 これらのエラーは、エラーが発生したとき (ネットワーク接続がある場合)、または次回アプリケーションが起動されたときにサーバーに送信されます。

機能セットの詳細については、エラーに関する ドキュメントを参照してください

Crashes SDK を統合して作業を開始する

Xamarin アプリでエラーを追跡するには、App Center SDK で Crashes モジュールを統合します。 その方法については 、クラッシュ SDK のドキュメントを参照してください

キャッチされないエラー (クラッシュ)

キャッチされないエラー (クラッシュ) は、try/catch ブロックの外部で発生するエラーです。 App Center SDK のクラッシュ モジュールを統合すると、これらのクラッシュが App Center によって既定で自動的に報告されます。

Try/Catch エンクロージャ内 (エラー)

try/catch エンクロージャ内で メソッドを呼び出 TrackError すことで、エラーが発生したときに App Center サービスに送信される情報を制御し、エラーとデバイスの状態をより明確に把握できます。

メソッドを使用すると TrackError 、いくつかの利点があります。

  • より精度の高いレポートをサービスに送信します。
  • 追加情報を含むレポートをサービスに送信します。

App Center で処理されたエラーを追跡する

クラッシュ SDK を含めてエラーを処理し、App Center に報告します。 このモジュールの一部として、 メソッドを使用してエラーを TrackError 追跡できます。

try
{
    int divByZero = 42 / int.Parse("0");
} catch (DivideByZeroException ex){
    Crashes.TrackError(ex);
}

クラッシュ SDK を使用して Xamarin のエラーを追跡する方法の詳細については、 クラッシュ SDK のドキュメントを参照してください

エラーキャッチに追加情報を追加する

App Center に送信されるエラー レポートを調整して、エラーに関する詳細なコンテキストに関する追加情報を提供できます。 これを実現するには、文字列のキーと値のペアのディクショナリを メソッドに TrackError 渡します。 これらのプロパティは省略可能です。 例:

try
{
    using (var text = File.OpenText("saved_game001.txt"))
    {
        Console.WriteLine("{0}", text.ReadLine());
        ...
    }
}
catch (FileNotFoundException ex)
{
    Crashes.TrackError(ex, new Dictionary<string,string>{
        { "Filename", "saved_game001.txt" },
        { "Where", "Reload game" },
        { "Issue", "Index of available games is corrupted" }
    });
}

ここでは、完全な例外 (例) はまだ App Center サービスに送り返されていますが、これに加えて、追加のデバッグ情報を含む辞書も作成および送信されます。

制限事項

  • エラーごとに最大 20 個のプロパティを定義できます。その制限を超えるものはすべて拒否されます。
  • エラー プロパティ キーとエラー プロパティ値あたりの最大文字数は 125 文字です。