DOCUMENTACAO DE ERROS
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
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
.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[Ô]);
}
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