Catch Sql command exceptions : SqlException « Database ADO.net « C# / C Sharp






Catch Sql command exceptions



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 += "\n" + "Message:"+ ex.Message;
            str += "\n" + "\n";
            str += "\n" + "Stack Trace :" + ex.StackTrace;
            Console.WriteLine (str, "Specific Exception");
         }
         catch (System.Data.SqlClient.SqlException ex)
         {
            string str;
            str = "Source:" + ex.Source;
            str += "\n" + "Message:" + ex.Message;
            Console.WriteLine (str, "Database Exception");
         }
         catch (System.Exception ex)
         {
            string str;
            str = "Source:" + ex.Source;
            str += "\n"+ "Message:" + ex.Message;
            Console.WriteLine (str, "Generic Exception");
         }
         finally
         {
            if ( conn.State == ConnectionState.Open)
            {
               Console.WriteLine ("Finally block closing the connection", "Finally");
               conn.Close();
            }
         }
      }
   }


           
       








Related examples in the same category

1.SqlException message
2.Deal with multiple Sql error in SqlException
3.SqlException detail info: line number, procedure, server