Erro que acontece de vez em quando

03/06/2009

No meu site, as vezes acontece o seguinte erro:

"Object reference not set to an instance of an object."

Não consigo simula-lo, pois so acontece em producao onde varias pessoas estao acessando o site.

Quais pontos devo ficar atento dentro do fonte para evitar esse erro?
Nefrodata Ltda

Nefrodata Ltda

Curtidas 0

Respostas

Fabio Mans

Fabio Mans

03/06/2009

Olá, o melhor a fazer nesses casos é debugar, coloque um breakpoint no início e vá seguindo os passos até onde quebra. Esse tipo de erro é comum com objetos nulos tipo:
MeuObjeto obj = null;
obj.qualquerMetodo();
Se em um ambiente roda e em outro não talvez ele não esteja conseguindo algum recurso fora da aplicaçao.
GOSTEI 0
Nefrodata Ltda

Nefrodata Ltda

03/06/2009

Vc sabe de algum bug em alguma versao do MySQL Conector.Net que possa apresentar esse erro? Ou talvez bug no Visual Studio.
GOSTEI 0
Fabio Mans

Fabio Mans

03/06/2009

Com certeza não.

Reveja seus métodos e faço como o exemplo abaixo.


MeuObjeto obj = null;
        if (obj != null) obj.qualquerMetodo();


Se o obj for diferente de nulo ai sim você chama o método.


Fabio
GOSTEI 0
Fabio Mans

Fabio Mans

03/06/2009

Meu sistema acabou de dar o erro que você menciona no chamado.
Veja abaixo como resolvi.


Eu tente recuperar a query string ThreadID porém ela não exisitia, para evitar eu utilizo.
IsNullOrEmpty, assim evito o erro.
 

 forumID = int.Parse(Request.QueryString["ForumID"]);
        if (!string.IsNullOrEmpty(Request.QueryString["ThreadID"]))
        {
            threadID = int.Parse(Request.QueryString["ThreadID"]);
            if (!string.IsNullOrEmpty(Request.QueryString["QuotePostID"]))
            {
                quotePostID = int.Parse(Request.QueryString["QuotePostID"]);
            }
        }




if(string.IsNullOrEmpty(Campo.Text))
{
   ///Se for vazio..
}

ou

if(Campo == null)
{

}
GOSTEI 0
Devmedia

Devmedia

03/06/2009

Senhor,
a resposta do consultor resolveu seu problema? Podemos encerrar o chamado?
GOSTEI 0
Devmedia

Devmedia

03/06/2009

Senhor,
por falta de retorno estamos mudando o status do seu chamado para concluído. Caso tenha mais duvidas sobre o assunto aqui tratato, por favor, post aqi mesmo q o consultor voltará a lhe atender.
GOSTEI 0
POSTAR