エラーと例外のレポート
に使用される標準 オブジェクトの初期化に使用される domain: String では、ハッシュ、StackTraceID、または ThreadID などの一意の文字列を使用しないでください。これらの文字列を含めると、Error Group が無数に作成され、パフォーマンスに影響を与えます。
一意のエラー文字列と値を追加するには、次の 2 つのデータ収集オプションがあります。
- トピックパスとして文字列値を追加します。報告するイベント/エラーに単一の値が添付されている場合は、その値を leaveBreadcrumb に追加します。「トピックパス(パンくずリスト)」を参照してください
- 文字列名と整数値を追加します。報告するイベント/エラーに名前と整数値の両方が添付されている場合は、その値を
reportMetricWithNameに追加します。「カスタムメトリック」を参照してください。
クラスの ADEumInstrumentation メソッドを使用して例外を報告できます。報告された例外は、セッション詳細に表示されます。
このメソッドには、次の 2 つの署名があります。
| Objective-C 関数の署名 | 説明 |
|---|---|
(void)reportError:(NSError *)error withSeverity (ADEumErrorSeverityLevel)severity; |
この署名を使用してエラーを報告し、問題の重大度レベルを設定し、スタックトレースを送信します。 この関数の署名は、デフォルトでスタックトレースを送信します。スタックトレースを送信しない場合は、次の関数の署名を追加の引数 とともに使用し、その値を に設定します。 警告: に使用される標準 オブジェクトの初期化に使用される
domain: String では、ハッシュ、StackTraceID、または ThreadID などの一意の文字列を使用しないでください。これらの文字列を含めると、Error Group が無数に作成され、パフォーマンスに影響を与えます。一意のエラー文字列と値を追加するには、次の 2 つのデータ収集オプションがあります。
|
(void)reportError:(NSError *)error withSeverity:(ADEumErrorSeverityLevel)severity andStackTrace:(BOOL)stacktrace; |
この署名を使用してエラーを報告し、問題の重大度レベルを設定し、スタックトレースを含めるかどうかを明示的に指定します。 stacktrace を YES に設定して、報告されるエラーにスタックトレースを含めると、[Code Issues Details] ダイアログにスタックトレースを表示できます。 スタックトレースなしでエラーを報告するには、 を に設定します。 警告: reportError に使用される新しい throwable の構成に使用される文字列メッセージでは、ハッシュ、StackTraceID、または ThreadID などの一意の文字列を使用しないでください。これらの文字列を含めると、Error Group が無数に作成され、パフォーマンスに影響を与えます。
一意のエラー文字列と値を追加するには、次の 2 つのデータ収集オプションがあります。
|
重要度レベル
問題に次の重大度レベルのいずれかを設定することもできます。シビラティ(重大度)レベルを使用すると、[Code Issues Dashboard] または [Code Issues Analyze] でエラーをフィルタリングできます。
-
ADEumErrorSeverityLevelInfo -
ADEumErrorSeverityLevelWarning -
ADEumErrorSeverityLevelCritical
エラーレポートの例
ADEumErrorSeverityLevelCritical に設定します。 - Objective-C
-
NSError *err = nil; [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"pathToFile" error:&err]; if (err) { [ADEumInstrumentation reportError:err withSeverity:ADEumErrorSeverityLevelCritical, andStackTrace: NO]; } else { ... } - Swift
-
var err: Error? = nil try? FileManager.default.contentsOfDirectory(atPath: "pathToFile") if err != nil { ADEumInstrumentation.reportError(err, withSeverity: ADEumErrorSeverityLevelCritical, andStackTrace: false) } else { ... }
domain: String では、ハッシュ、StackTraceID、または ThreadID などの一意の文字列を使用しないでください。これらの文字列を含めると、Error Group が無数に作成され、パフォーマンスに影響を与えます。一意のエラー文字列と値を追加するには、次の 2 つのデータ収集オプションがあります。
- トピックパスとして文字列値を追加します。報告するイベント/エラーに単一の値が添付されている場合は、その値を leaveBreadcrumb に追加します。「トピックパス(パンくずリスト)」を参照してください。
- 文字列名と整数値を追加します。報告するイベント/エラーに名前と整数値の両方が添付されている場合は、その値を reportMetric に追加します。「カスタムメトリック」を参照してください。
- Objective-C
-
NSString *domain = @"com.YourCompany.AddUsers.ErrorDomain"; NSString *desc = NSLocalizedString(@"Unable to add user.", @""); NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : desc }; NSError *error = [NSError errorWithDomain:domain code:-101 userInfo:userInfo]; [ADEumInstrumentation reportError:error withSeverity: ADEumErrorSeverityLevelWarning]; - Swift
-
var domain = "com.YourCompany.AddUsers.ErrorDomain" var desc = NSLocalizedString("Unable to add user.", comment: "") var userInfo = [NSLocalizedDescriptionKey: desc] var error = NSError(domain: domain, code: -101, userInfo: userInfo) ADEumInstrumentation.reportError(error, withSeverity: ADEumErrorSeverityLevelWarning)