using System; using System.Data; using System.Data.SqlClient; class SqlExceptionDemo { static void Main(){ string connString = "server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI"; SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "something wrong here"; try { conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); string str = dr.GetValue(20).ToString(); dr.Close(); } catch (System.InvalidOperationException ex) { string str; str = "Source:" + ex.Source; str += " " + "Message:"+ ex.Message; str += " " + " "; str += " " + "Stack Trace :" + ex.StackTrace; Console.WriteLine (str, "Specific Exception"); } catch (System.Data.SqlClient.SqlException ex) { string str; str = "Source:" + ex.Source; str += " " + "Message:" + ex.Message; Console.WriteLine (str, "Database Exception"); } catch (System.Exception ex) { string str; str = "Source:" + ex.Source; str += " "+ "Message:" + ex.Message; Console.WriteLine (str, "Generic Exception"); } finally { if ( conn.State == ConnectionState.Open) { Console.WriteLine ("Finally block closing the connection", "Finally"); conn.Close(); } } } }