• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

noticeError

Sintaxe

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

Identifica um erro do browser sem interromper as operações do seu aplicativo.

Requisitos

Descrição

Use esta chamada para notar ou log erros manipulados ou outros erros diversos do seu aplicativo. Isso é útil quando você detectou e tratou um erro, mas ainda deseja identificá-lo sem interromper a operação do seu aplicativo.

Você também pode usar a API para observar erros que, de outra forma, seriam relatados sem nenhum detalhe, como erros que ocorrem durante a inicialização do script ou em um manipulador de eventos embutido. Os erros aparecerão na páginaErrors junto com outros erros que o New Relic normalmente detecta. Eles também serão registrados como um eventoJavaScriptError . Por exemplo:

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

Nota: Se mais de 1.000 eventos JavaScriptError forem enviados em uma única solicitação, apenas 1.000 eventos separados serão registrados. No entanto, o número total de eventos é preservado internamente e acessível usando EXTRAPOLATE cláusula de consulta.

Parâmetro

Parâmetro

Descrição

$error

objeto de erro

Obrigatório. Forneça uma mensagem de erro significativa que você possa usar ao analisar dados na páginaErrors do browser.

$customAttributes objeto

Opcional. Um objeto contendo pares nome/valor representando atributo personalizado.

Exemplos

Erros não críticos

Este exemplo mostra como usar a API newrelic.noticeError para relatar erros detectados que você não deseja que interrompam seu aplicativo. Isso é útil quando erros não críticos não têm impacto na experiência do usuário, mas você ainda deseja relatá-los aos desenvolvedores. O código de exemplo usa com segurança um objeto foo padrão em caso de JSON inválido.

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

Retorno de chamada com erro opcional

Este exemplo mostra como relatar um erro ao New Relic ao usar o padrão de erro e resposta retorno de chamada popularizado pelo Node.js e comum no desenvolvimento do Browserify. Você pode substituir alert(body); pela sua própria mensagem relevante.

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

Exemplo de API baseada em promessa

As promessas fornecem um padrão único para lidar com a interação assíncrona, facilitando o tratamento de erros assíncronos. No entanto, isso também facilita o erro completamente ignorado, deixando o aplicativo quebrado de maneiras que os desenvolvedores não conseguem ver. Este exemplo reporta esses erros assíncronos ao New Relic para evitar que sejam ignorados.

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

Exemplo de captura de atributo personalizado

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

Limitações do browser (somente Apple Safari e Microsoft Internet Explorer)

Se um erro for detectado e relançado, ele não terá um stack trace. Nesses casos, se desejar que a API newrelic.noticeError relate um stack trace para todos os tipos de navegador, você deverá transmiti-lo à API na instrução catch.

try {
throw errorObject;
} catch (err) {
newrelic.noticeError(err);
throw err; // loses stack trace!
}
Copyright © 2024 New Relic Inc.

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