• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

avisErreur

Syntaxe

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

Identifie une erreur de navigateur sans perturber les opérations de votre application.

Exigences

Description

Utilisez cet appel pour remarquer ou log les erreurs traitées ou autres erreurs diverses de votre application. Cela est utile lorsque vous avez détecté et géré une erreur, mais que vous souhaitez toujours l'identifier sans perturber le fonctionnement de votre application.

Vous pouvez également utiliser l'API pour détecter des erreurs qui seraient autrement signalées sans aucun détail, telles que des erreurs qui se produisent lors de l'initialisation script ou dans un gestionnaire d'événements en ligne. Les erreurs apparaîtront sur la pageErrors avec d'autres erreurs que New Relic détecte normalement. Ils seront également enregistrés comme un événementJavaScriptError . Par exemple:

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

Remarque : si plus de 1 000 événements JavaScriptError sont envoyés dans une seule requête, seuls 1 000 événements distincts sont enregistrés. Cependant, le nombre total d'événements est conservé en interne et accessible à l'aide de la clause de requêteEXTRAPOLATE .

Paramètres

paramètres

Description

$error

objet d'erreur

Requis. Fournissez un message d'erreur significatif que vous pouvez utiliser lors de l'analyse des données sur la pageErrors du navigateur.

$customAttributes objet

Facultatif. Un objet contenant des paires nom/valeur représentant un attribut personnalisé.

Exemples

Erreurs non critiques

Cet exemple montre comment utiliser l'API newrelic.noticeError pour signaler les erreurs détectées que vous ne souhaitez pas perturber votre application. Ceci est utile lorsque les erreurs non critiques n'ont pas d'impact sur l'expérience de l'utilisateur, mais que vous souhaitez tout de même les signaler aux développeurs. L'exemple de code utilise en toute sécurité un objet foo par défaut en cas de mauvais JSON.

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);

rappel avec erreur facultative

Cet exemple montre comment signaler une erreur à New Relic lors de l'utilisation du modèle d'erreur et de réponse rappel popularisé par Node.js et courant dans le développement de Browserify. Vous pouvez remplacer alert(body); par votre propre message pertinent.

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);
});

Exemple d'API basée sur les promesses

Les promesses fournissent un modèle unique pour gérer les interactions asynchrones, ce qui facilite la gestion des erreurs asynchrones. Cependant, cela facilite également l'ignorance totale des erreurs, laissant les applications défectueuses d'une manière que les développeurs ne peuvent pas voir. Cet exemple signale ces erreurs asynchrones à New Relic pour éviter qu'elles ne soient négligées.

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);
});

Exemple de capture d'attribut personnalisé

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

Limitations du navigateur (Apple Safari et Microsoft Internet Explorer uniquement)

Si une erreur est détectée et relancée, elle n'aura pas de trace d'appels. Pour ces cas, si vous souhaitez que l'API newrelic.noticeError signale une trace d'appels pour tous les types de navigateur, vous devez la transmettre à l'API dans l'instruction catch.

try {
throw errorObject;
} catch (err) {
newrelic.noticeError(err);
throw err; // loses stack trace!
}
Droits d'auteur © 2025 New Relic Inc.

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