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

この機械翻訳は参考用に提供されます。

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

問題を作成する

noticeError

構文

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

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

要件

説明

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

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

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

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

パラメーター

パラメータ

説明

$error

エラーオブジェクト

必須です。ブラウザの JavaScript のエラー ページ のデータを分析する際に使用できる、意味のあるエラーメッセージを提供してください。

$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 がすべてのブラウザ タイプでスタック トレースを報告するようにするには、エラーを API に渡す前に、エラーを手動でスローしてキャッチする必要があります。

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

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