(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) ทันที
|