@ Anz: Неправильно использовать обработку исключений в любом месте кода, поэтому всегда помните об этом, и вы должны знать, что означает все различные типы исключений.В вашем сценарии вы получаете «Исключение ссылки на объект», и основная причина этого исключения состоит в том, что вы не проверяете ноль при доступе к переменной, как
Exa_1: -
DataSet ds;
теперь, если я получу доступ к нему как ds.Table.count (), он выдаст исключение, поэтому здесь мы должны использовать
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
if (! String.IsNullOrEmpty (strVariable)) int number = Convert.Int32 (strVariable);
И если вы хотите показать пользовательское сообщение в дескрипторе исключения, вы можете создать свой собственный класс исключения, который будет переопределять класс исключения, тогда вы можете бросить и поймать как:
public class MyException : Exception
{
public string customMessage;
public MyException(string sourceName)
{
customMessage = sourceName + " can not be null";
}
public MyException()
{
customMessage="ObjectReferenceException";
}
}
И в кодегде вы используете попробовать поймать использовать
try
{
throw new MyException("check");
}
catch (MyException ex)
{
MessageBox.Show(ex.customMessage);
}