DOCUMENTACAO DE ERROS

DIEGO.SLIVER 01/12/2011 10:56:28
#390367
Bom dia amigos

Alguém sabe onde posso consguir uma lista com todos os erros do dotnetframework onde tenha o número do erro e a descrição do erro

Valeu
KERPLUNK 01/12/2011 12:28:22
#390374
Resposta escolhida
.NET não tem o conceito de [Ô]número de erro[Ô], com .NET todos os erros são objetos do tipo exception que devem ser capturados com o bloco [Ô]try...catch[Ô]:
try
{
//fazer algo
}
catch(SqlException)
{
//tratar erro específico de SQL
}
catch(OverflowException)
{
//foi tentado convertter um tipo numérico para outro e por overflow, não é possível como converter 1 trilhão para int
}
catch(ConstraintException)
{
//tentou rodar um sql que viola uma contraint(chave primária ou extrangeira)
}
E assim por diante...

Além disso vc pode [Ô]criar[Ô] os seus próprios objetos Exception:
[Serializable]
public class ClienteNaoEncontradoException : Exception
{
public ClienteNaoEncontradoException() { }
public ClienteNaoEncontradoException(string message) : base(message) { }
public ClienteNaoEncontradoException(string message, Exception inner) : base(message, inner) { }
protected ClienteNaoEncontradoException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context)
: base(info, context) { }
}

Então quando fizer uma busca no banco e a busca retornar vazia lance essa exception:

public string BuscaNomeCliente(int codigo)
{
SqlCommand cmd = new SqlCommand([Ô]select * from cliente where codcliente = 99[Ô], cn)
SqlDataReader dr = cmd.ExecuteReader();
if (!dr.HasRows)
throw new ClienteNaoEncontradoException();

return dr.GetString(dr.GetOrdinal([Ô]Nome[Ô]));
}

Para pegar esse erro em outro lugar por exemplo num botão:


try
{
string nome = BuscaNomeCliente(txtCodigo.Text)
}
catch (ClienteNaoEncontradoException)
{
MessageBox.Show ([Ô]Cliente não encontrado[Ô]);
}
Tópico encerrado , respostas não são mais permitidas