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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

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.