(C#) ASP.NET Try Catch Exception       | 
   
 
			  
			  
              (C#)  ASP.NET Try Catch Exception ใน .NET Framework เป็นรูปแบบคำสั่งใช้ดักข้อผิดพลาด (Error) ของโปรแกรม โดยเราสามารถใช้คำสั่ง Try ครอบในส่วนของ คำสั่ง โดยเมื่อเกิดการผิดพลาดในส่วนของคำสั่งโปรแกรมจะวิ่งไปในส่วนของ Catch ex As Exception , catch (Exception ex) เพื่อรอผู้ใช้ตรวจสอบข้อผิดพลาด หรือบันทึกข้อผิดพลาดของโปรแกรม โดยที่โปรแกรมจะยังสามารถทำงานต่อไปได้ 
 
Language Code : VB.NET ||   C# 
 
Syntax (C#) 
 
        try
        {
            //*** Code & Command ***//
        }
        catch (Exception ex)
        {
            //*** Event เมื่อเกิด Error ***//
        }
        finally
        {
            //*** (Option) Event เมื่อคำสั่งสมบูรณ์ ***//
        } 
 
Sample (C#) 
 
System.Data.OleDb.OleDbConnection objConn;
System.Data.OleDb.OleDbCommand objCmd;
string strConnString = null;
string strSQL = null;
OleDbTransaction Trans = default(OleDbTransaction);
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database/mydatabase.mdb") + ";Jet OLEDB:Database Password=;";
objConn = new System.Data.OleDb.OleDbConnection(strConnString);
objConn.Open();
//*** Start Transaction ***//
Trans = objConn.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
//*** Query 1 ***//
strSQL = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " + "VALUES ('C005','Weerachai Nukitram','[email protected]','TH','2000000','1000000')";
objCmd = new System.Data.OleDb.OleDbCommand();
{
objCmd.Connection = objConn;
objCmd.Transaction = Trans;
objCmd.CommandType = CommandType.Text;
objCmd.CommandText = strSQL;
}
objCmd.ExecuteNonQuery();
//*** Query 2 ***//
strSQL = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " + "VALUES ('C005','Weerachai Nukitram','[email protected]','TH','2000000','1000000')";
objCmd = new System.Data.OleDb.OleDbCommand();
{
objCmd.Connection = objConn;
objCmd.Transaction = Trans;
objCmd.CommandType = CommandType.Text;
objCmd.CommandText = strSQL;
}
objCmd.ExecuteNonQuery();
Trans.Commit();
//*** Commit Transaction ***//
this.lblText.Text = "Record is commit";
}
catch (Exception ex)
{
Trans.Rollback();
//*** RollBack Transaction ***//
this.lblText.Text = "Record is rollback (" + ex.Message + ")";
}
objCmd = null;
objConn.Close();
objConn = null; 
 
คำอธิบาย       
จากตัวอย่างโปรแกรมจะทำการ Insert ข้อมูลโดยใช้ Try ครอบคำสั่ง แต่ถ้ามีการเกิด Error โปรแกรมจะทำงานในส่วนของ Catch ex As Exception , catch (Exception ex) ทันที              
  
              			
			  
								  
			  
  
                          
  |