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