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

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

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.

Criar um problema

Relatórios do agente .NET trataram erros

Problema

Os relatórios do agente .NET da New Relic trataram os erros como se fossem erros padrão. Isto é mais comum com funções de trabalhador do Azure, aplicações de consola, trabalho assíncrono e operações semelhantes.

Solução

Para evitar falsos relatórios de erros, utiliza-se um método que contém direta ou indiretamente o manipulador de exceções. instrumento o método alvo definindo um arquivo de instrumentação personalizada , ou envolvendo o método em uma transação customizada, conforme mostrado neste exemplo:

Causa

Os únicos erros relatados pelo agente .NET da New Relic são erros não tratados que encerram uma transação. Se seu aplicativo chamar um manipulador de exceção antes do término da transação, o New Relic não reportará um erro.

No entanto, o New Relic nem sempre detecta manipuladores de exceção quando o erro ocorre fora de uma transação da web, transação WCF ou transação personalizada. Isso ocorre porque o agente cria “minitransações” para métodos instrumentados que não estão associados a uma transação.

Quando o método instrumentado termina, a minitransação termina. Se a minitransação gerar um erro e o método instrumentado não tratar isso, o New Relic reportará um erro.

Você pode ver isso em um aplicativo de console que chama GetResponse(), conforme mostrado no exemplo. Se GetResponse gerar um erro, o New Relic irá reportá-lo, mesmo que GetResponse() seja chamado dentro de um bloco try/catch. O agente reporta um erro porque a GetResponse() "mini-transação" terminou e o erro ainda não foi tratado na saída da transação.

Copyright © 2024 New Relic Inc.

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