@Anz: Ce n'est pas bon à utiliser Gestion des exceptions partout dans le code donc gardez toujours cela à l'esprit et vous devez savoir quelle est la signification de tous les différents types d'exceptions. Dans votre scénario vous obtenez « référence objet Exception » et la raison principale de cette exception est que vous ne vérifiez pas null lors de l'accès variables comme
Exa_1: -
DataSet ds;
maintenant si je l'accès comme ds.Table.count() il donnera exception, donc ici, nous devrions utiliser
DataSet ds;
If(ds!=null)
{
int val = ds.Table.count();
}
Exa_2: -
string strVariable=txtInput.Text;
int number = Convert.Int32(strVariable); // here if txtInput.Text is empty them it will through exception so here we can use
si (String.IsNullOrEmpty (strVariable)) int nombre = Convert.Int32 (strVariable);
Et si vous voulez montrer Message personnalisé dans la poignée d'exception, vous pouvez créer votre propre classe d'exception qui remplacera la classe d'exception alors vous pouvez lancer et attraper comme:
public class MyException : Exception
{
public string customMessage;
public MyException(string sourceName)
{
customMessage = sourceName + " can not be null";
}
public MyException()
{
customMessage="ObjectReferenceException";
}
}
Et dans le code où vous usng essayer attraper utiliser
try
{
throw new MyException("check");
}
catch (MyException ex)
{
MessageBox.Show(ex.customMessage);
}
Avez-vous un accès au code source? ou juste les binaires? –
yap le code source est ther .. mais en changeant le code tandis que l'affichage d'alerte sera un changement assez important car il est beaucoup dans les endroits. Je cherche un moyen de remplacer la classe d'exception ou quelque chose et envoyer un message amical au lieu du message d'erreur de référence Obejct .. –
Est-ce une application Windows ou une application web? – SWeko