I have an exception occurred when the Database connection failed in a Class. The problem is how do I notify my Main Window that this exception is caught and show a message box to notify my user?
Thanks
I have an exception occurred when the Database connection failed in a Class. The problem is how do I notify my Main Window that this exception is caught and show a message box to notify my user?
Thanks
 
    
     
    
    Use the Try ... Catch clause like this:
try
{
    // The code that could generate an exception
}
catch(Exception ex)
{
   MessageBox.Show("Error: " ex.Message);
}
Or if you're using SQL-Server connection, use it like this:
try
{
    // The code that could generate an exception
}
catch(SqlException ex)
{
   MessageBox.Show("SQL Error: " ex.Message);
}
 
    
    Thanks. I may have not make my question clearly. I mean this exception is occurred in one class, but the message box should be show in an other windows class. So how do I communicate and show this error?
From your clarification in one of the comments:
So if you have class TestClass.cs with method Test in it.
public void Test()
{
    //if you want to throw an exception defined by your business logic
    if(someCondition == false)
       throw CustomException();
    //if you have exception in the code
    int a = 5;
    int b =0;
    //here you will be thrown an exception can't divide by 0.
    int c = a/b;
}
Your winform Button Click or whatever
public void Button_Click1(object sender, EventArgs e)
{
     try
     {
         TestClass cl = new TestClass();
         cl.Test();
     }
     catch(CustomException custEx)
     {
         //this for your Bussines logic exception
         //write your message
     }
     catch(DivideByZeroException div)
     {
          //this for divide by zero exception
          //write message
     }
     //you can catch all other exception like this but I don't advice you to do that
     catch(Exception ex)
     {
         //for this to working properly, this catch should be under all of others(last priority)
     }
}
