NLOG VB.NET

MAMONALTA 22/08/2012 18:28:01
#408373
ALguém aqui usa o NLOG? se sim... uma pergunta...
precisa colocar o código dele... em todas as excessões?

OCELOT 22/08/2012 19:16:51
#408375
Geralmente se coloca apenas no caso de exceptions não esperadas, porque se você sabe que pode acontecer uma exception e você já tratou ela de acordo com o necessário não tem porque fazer um log dela, a menos é claro que seja para questões de depuração, mas neste caso eu não logaria como Error e sim como Debug

Lembre-se que NLog não serve apenas para erros, eu por exemplo uso ele em um sistema de atualização para gravar cada coisa que o sistema fez, mesmo tendo ocorrido tudo corretamente, pois assim se acontecer algo de errado eu posso ver exatamente tudo que ele fez até antes de ter ocorrido o problema.

Outro uso muito importante para mim é um programa que faz comunicação por bluetooth, onde não posso ficar parando o programa no debugger pois preciso que tudo corra rapidamente, então uso o log por UDP com o programa Sentinel para visualizar tudo que está acontecendo com a comunicação no programa sem precisar parar ele.
JABA 22/08/2012 19:18:11
#408376
Você deve colocar em todas as exceções que você queira controlar como log.
Existem excecoes que não são falhas e você não precisa registrar isso num log. Ex: A quantidade de estoque chegou a zero.

vlw
MAMONALTA 22/08/2012 19:26:47
#408377
Legal gostei :)

e como faço para pegar as excessoes que não espero? os erros propriamente dito... no cliente?
JABA 22/08/2012 19:49:18
#408383
Isso vai está implicito na sua regra de negocio.

Ex: A quantidade de estoque chegou a zero.

Você sabe que uma hora o estoque pode chegar a zero, então essa é uma exceção esperada porque ela faz parte de sua regra de negocio. Para trata-la, você pode utilizar uma excecao que se aproxima do que tu quer, ou cria uma para o teu proposito. Após isso, é só você captura-la pelo try catch. Coloque sempre as excecoes mais especificas em primeiro.

As excecoes nao esperadas, são aquelas que chamamos de bugs.

vlw
OCELOT 22/08/2012 23:33:43
#408395
Você pode usar também o evento UnhandledException do AppDomain http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx para pegar todas as exceptions que não foram tratadas por um Try/Catch

Não saia colocando Try/Catch em tudo quanto é lugar simplesmente por achar que ali pode dar um erro, use eles somente em locais que realmente espera que aconteça um erro e que você vai trata-los, de resto acho muito melhor que o programa de o erro e feche, assim você pega a exception no AppDomain.UnhandledException, do que deixar que o programa continue executando sendo que não se sabe como ele vai se comportar por causa do erro que foi ignorado, isso pode ter um efeito muito mais negativo, pode levar a bugs muito mais sérios e difíceis de se arrumar do que se você simplesmente fechar o programa.
Tópico encerrado , respostas não são mais permitidas