• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

noticeError

構文

newrelic.noticeError(error object $error, [object $customAttributes])

アプリの動作を停止させることなく、ブラウザのエラーを特定します。

要件

説明

このコールは、アプリの処理済みエラーやその他の雑多なエラーを通知または記録するために使用します。これは、エラーをキャッチして処理したものの、アプリの動作を中断させることなくエラーを特定したい場合に便利です。

また、API を使用すると、スクリプトの初期化中やインライン イベント ハンドラーで発生するエラーなど、詳細なしで報告されるエラーを確認することもできます。 エラーは、New Relic が通常検出する他のエラーとともにErrorsページに表示されます。 これらはJavaScriptErrorイベントとしても記録されます。 例えば:

var err = new Error('Report caught error to New Relic');
newrelic.noticeError(err);

注: 1 回のリクエストで 1000 を超えるJavaScriptErrorイベントが送信された場合、1000 個の個別のイベントのみが記録されます。ただし、イベントの総数は内部的に保持され、 EXTRAPOLATEクエリ句を使用してアクセスできます。

パラメーター

パラメータ

説明

$error

エラーオブジェクト

必須。 browserのErrors ページでデータを分析するときに使用できる意味のあるエラーメッセージを提供します。

$customAttributes 物体

オプション。カスタム属性を表す名前と値のペアを含むオブジェクト。

ノンクリティカルエラー

この例は、 newrelic.noticeError API を使用して、アプリケーションを中断させたくないキャッチされたエラーを報告する方法を示しています。これは、重大ではないエラーがユーザー エクスペリエンスに影響を及ぼさないものの、開発者に報告したい場合に役立ちます。コード例では、JSON が正しくない場合にデフォルトのfooオブジェクトを安全に使用しています。

var foo;
try {
foo = JSON.parse('{ "bar"');
} catch (err) {
// Report caught error to New Relic
newrelic.noticeError(err);
foo = { bar: 'default value' };
}
alert(foo.bar);

オプションのエラー付きコールバック

この例では、Node.js によって普及し、Browserify 開発で一般的なエラーおよび応答パターンのコールバックを使用するときに、エラーを New Relic に報告する方法を示します。alert(body);を独自の関連メッセージに置き換えることができます。

var xhr = require('xhr');
xhr('http://localhost:8080', function(err, resp, body) {
// Report unthrown error to New Relic
if (err) return newrelic.noticeError(err);
// Handle successful response
alert(body);
});

Promise-based APIの例

プロミスは、非同期のインタラクションを処理するための単一のパターンを提供し、非同期のエラーを簡単に処理することができます。しかし、これによりエラーを完全に無視することも容易になり、開発者には見えないところでアプリケーションが壊れたままになってしまいます。この例では、これらの非同期エラーをNew Relicに報告し、見過ごされないようにしています。

var rest = require('rest');
rest('/').then(function(res) {
// Handle successful response
alert(res.entity);
}, function(err) {
// Report unthrown error to New Relic
newrelic.noticeError(err);
});

カスタム属性の取得例

try {
// code that throws an error
} catch (err) {
newrelic.noticeError(err, { attribute1: 'value1', attribute2: 2 });
}

ブラウザの制限(Apple SafariとMicrosoft Internet Explorerのみ)

エラーがキャッチされて再スローされた場合、スタックトレースは発生しません。 このような場合、newrelic.noticeError APIですべてのbrowserタイプのスタックトレースをレポートするには、catch ステートメントでAPIに渡す必要があります。

try {
throw errorObject;
} catch (err) {
newrelic.noticeError(err);
throw err; // loses stack trace!
}
Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.