• /
  • 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

Enregistrer les erreurs

|View as Markdown

Syntaxe

Objectif-C

recordError:(NSError* _Nonnull)error attributes:(NSDictionary* _Nullable)attributes;

Swift [#swift]

NewRelic.recordError(error: $Error, map $eventAttributes);

Description [#description]

Vous pouvez utiliser l'appel d'API recordError pour l'analyse des crashs. Passez en revue l’événement capturé pour vous aider à comprendre à quelle fréquence votre application génère des erreurs et dans quelles conditions. En plus de tout attribut personnalisé que vous avez ajouté, l'événement aura également un attribut de session associé.

Cette API prend une instance d'une erreur et un dictionnaire d'attributs facultatif, puis crée un événement recordHandledException. Vous pouvez afficher les données d'événement dans l'interface utilisateur dans des endroits tels que la pageHandled exceptions et le parcoursCrash events . Vous pouvez également interroger ces données avec NRQL et les représenter graphiquement dans les dashboards New Relic.

Paramètres [#parameters]

Objectif-C

paramètres

Type

Description

$error, error

error, NSerror

Requis. L'exception à enregistrer.

attributes, $eventAttributes

NSDictionary, [AnyHashable, Any]?

Facultatif. Dictionnaire des attributs qui donnent un contexte.

Exemples [#examples]

Objective-C

Voici un exemple d'enregistrement d'une erreur simple :

@try {
@throw [NSException exceptionWithName:@"versionException"
reason:@"App version no longer supported"
userInfo:nil];
} @catch (NSException* e) {
[NewRelic recordHandledException:e];
}

Voici un autre exemple d’enregistrement d’une erreur avec un dictionnaire :

[NSJSONSerialization JSONObjectWithData:data options:opt error:error];
if (error) {
[NewRelic recordError:error
withAttributes:@{@"int" : @1, @"Test Group" : @"A | B"}];
}

Swift [#swift]

Voici un exemple d'enregistrement d'une erreur simple :

do {
try method()
} catch {
NewRelic.recordError(error)
}

Voici un autre exemple d’enregistrement d’une erreur avec un dictionnaire :

do {
try method()
} catch {
NewRelic.recordError(error, attributes: [ "int" : 1, "Test Group" : "A | B" ])
}

Syntaxe

recordError(options: { name: string; message: string; stack: string; isFatal: boolean; }) => void

Description [#description]

Enregistre les erreurs JavaScript/TypeScript pour Ionic Capacitor. Assurez-vous d'ajouter cette méthode au gestionnaire d'erreurs global de votre framework.

Paramètres [#parameters]

Objectif-C

paramètres

Type

Description

options

{ name: string; message: string; stack: string; isFatal: boolean; }

Requis. Un objet qui contient les détails de l'erreur.

Exemple [#example]

try {
throw new Error('Example error message');
} catch (e: any) {
NewRelicCapacitorPlugin.recordError({
name: e.name,
message: e.message,
stack: e.stack,
isFatal: false,
});
}

Syntaxe

recordError(err: Error) : void;

Description [#description]

Enregistre les erreurs JavaScript pour Cordova. Assurez-vous d’ajouter cette méthode au gestionnaire d’erreurs du framework que vous utilisez.

Exemples [#examples]

Angulaire

Angular 2+ expose une classe ErrorHandler pour gérer les erreurs. Vous pouvez implémenter New Relic en étendant cette classe comme suit :

import { ErrorHandler, Injectable } from '@angular/core';
import { NewRelic } from "@awesome-cordova-plugins/newrelic";
@Injectable()
export class GlobalErrorHandler extends ErrorHandler {
constructor() {
super();
}
handleError(error: any): void {
NewRelic.recordError(error);
super.handleError(error);
}
}

Ensuite, vous devrez informer Angular 2 de ce nouveau gestionnaire d'erreurs en répertoriant les remplacements pour le fournisseur dans app.module.ts :

@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,HttpClientModule],
providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },{provide: ErrorHandler, useClass: GlobalErrorHandler}],
bootstrap: [AppComponent],
})

React

React 16+ a ajouté des composants de limite d'erreur qui détectent les erreurs qui remontent à partir des composants enfants. Ils sont très utiles pour suivre les erreurs et signaler les erreurs à New Relic.

import React, { Component } from "react";
import { NewRelic } from "@awesome-cordova-plugins/newrelic";
export class ErrorBoundary extends Component {
componentDidCatch(error, errorInfo) {
if (errorInfo && errorInfo.componentStack) {
// Optional line to print out the component stack for debugging.
console.log(errorInfo.componentStack);
}
NewRelic.recordError(error);
this.setState({ error });
}
render() {
// Render error messages or other components here.
}
}

Redux

Vous pouvez créer Redux Middleware et l'appliquer à votre boutique. Cela vous permettra de signaler toute erreur à New Relic.

import { NewRelic } from "@awesome-cordova-plugins/newrelic";
const NewRelicLogger = store => next => action => {
try {
// You can log every action as a custom event
NewRelic.recordCustomEvent("eventType", "eventName", action);
return next(action)
} catch (err) {
//
NewRelic.recordBreadcrumb("NewRelicLogger error", store.getState());
// Record the JS error to New Relic
NewRelic.recordError(err);
}
}
export default NewRelicLogger;

Assurez-vous que le middleware est appliqué lors de la création de votre boutique :

import { createStore, applyMiddleware } from "redux"
import NewRelicLogger from "./middleware/NewRelicLogger"
const store = createStore(todoApp, applyMiddleware(NewRelicLogger));

Vue

Vue dispose d'un gestionnaire d'erreurs global qui signale les erreurs JavaScript natives et les transmet à l'instance Vue. Ce gestionnaire sera utile pour signaler les erreurs à New Relic.

import { NewRelic } from "@awesome-cordova-plugins/newrelic";
Vue.config.errorHandler = (err, vm, info) => {
// Record properties passed to the component if there are any
if(vm.$options.propsData) {
NewRelic.recordBreadcrumb("Props passed to component", vm.$options.propsData);
}
// Get the lifecycle hook, if present
let lifecycleHookInfo = 'none';
if (info){
lifecycleHookInfo = info;
}
// Record a breadcrumb with more details such as component name and lifecycle hook
NewRelic.recordBreadcrumb("Vue Error", { 'componentName': vm.$options.name, 'lifecycleHook': lifecycleHookInfo })
// Record the JS error to New Relic
NewRelic.recordError(error);
}

Syntaxe

recordError(error, StackTrace.current, attributes: attributes);

Description [#description]

Vous pouvez enregistrer des exceptions non fatales en utilisant la méthode recordError avec l'attribut personnalisé.

Exemple [#example]

try {
some_code_that_throws_error();
} catch (ex) {
NewrelicMobile.instance
.recordError(error, StackTrace.current, attributes: attributes);
}

Syntaxe

recordError(e: string|Error, isFatal?: boolean, attributes?: object): void;

Exigences [#react-requirements]

  • Agent New Relic React Native installé et configuré.
  • Appelez NewRelic.setJSAppVersion() au début de votre application afin que les erreurs JavaScript puissent être capturées.
  • L’enregistrement des erreurs en tant qu’événements MobileJSError, l’argument isFatal, et l’argument attributes nécessitent l’agent React Native version 1.9.0 ou supérieure. Les versions antérieures enregistrent ces erreurs en tant qu’événements MobileHandledException.

Description [#react-description]

Utilisez cet appel pour enregistrer les erreurs JavaScript gérées ou autres erreurs diverses de votre application. Cela est utile lorsque vous avez intercepté et géré une erreur, mais que vous souhaitez tout de même l’identifier sans perturber le fonctionnement de votre application.

Ces erreurs sont enregistrées en tant qu’ événementsMobileJSError . En plus des attributs personnalisés que vous ajoutez, les événements incluent également les attributs de session associés. Vous pouvez afficher ces données dans l’UI , les interroger avec NRQL et les représenter graphiquement dans les dashboards New Relic.

Paramètres [#react-parameters]

paramètres

Type

Description

e

string, Error

Obligatoire. L’erreur à enregistrer.

isFatal

boolean

Facultatif. Si l'erreur est fatale. La valeur par défaut est false.

attributes

object

Facultatif. Un objet de paires nom/valeur d’attributs personnalisés qui donnent à l’erreur un contexte supplémentaire. La valeur par défaut est {}.

Exemples [#react-examples]

Enregistrer une erreur traitée

Voici un exemple d’enregistrement d’une erreur interceptée sans perturber votre application :

try {
var foo = {};
foo.bar();
} catch (e) {
NewRelic.recordError(e);
}

Enregistrer une erreur à partir d’un rejet de promesse

Les promesses font qu’il est facile d’ignorer les erreurs asynchrones. Cet exemple signale une promesse rejetée à New Relic afin qu’elle ne soit pas ignorée :

fetch('https://api.example.com/data')
.then(response => response.json())
.catch(error => {
// Report the unhandled rejection to New Relic
NewRelic.recordError(error);
});

Enregistrer une erreur fatale

Passez true comme deuxième argument pour marquer l’erreur comme fatale :

try {
criticalOperation();
} catch (e) {
NewRelic.recordError(e, true);
}

Enregistrer une erreur avec des attributs personnalisés

Passez un objet d’attributs comme troisième argument pour ajouter du contexte à l’erreur :

try {
var foo = {};
foo.bar();
} catch (e) {
NewRelic.recordError(e, false, { screen: 'Checkout', 'Test Group': 'A | B' });
}

Syntaxe

recordError(FString errorMessage,TMap <FString, FString> errorAttributes);

Description [#description]

Enregistre les erreurs pour Unreal avec les paramètres de carte.

paramètres

Type

Description

errorMessage

FString

Requis. L'exception à enregistrer.

$errorAttributes

Map of String, String

Facultatif. Une carte d’attribut à associer à l’exception.

Exemple [#example]

#include "NewRelicBPLibrary.h"
TMap<FString, FString> errorsMap;
errorsMap.Add("place", TEXT("Robots"));
errorsMap.Add("user", TEXT("Nisarg"));
UNewRelicBPLibrary::recordError(TEXT("Error Message"), errorsMap);
Screenshot of the Unreal Engine Plugin Record Error
Droits d'auteur © 2026 New Relic Inc.

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