ASP.NET Try Catch Exception |
ASP.NET Try Catch Exception ใน .NET Framework เป็นรูปแบบคำสั่งใช้ดักข้อผิดพลาด (Error) ของโปรแกรม โดยเราสามารถใช้คำสั่ง Try ครอบในส่วนของ คำสั่ง โดยเมื่อเกิดการผิดพลาดในส่วนของคำสั่งโปรแกรมจะวิ่งไปในส่วนของ Catch ex As Exception , catch (Exception ex) เพื่อรอผู้ใช้ตรวจสอบข้อผิดพลาด หรือบันทึกข้อผิดพลาดของโปรแกรม โดยที่โปรแกรมจะยังสามารถทำงานต่อไปได้
Language Code : VB.NET || C#
Syntax (VB.NET)
Try
'*** Code & Command ***'
Catch ex As Exception
'*** Event เมื่อเกิด Error ***'
Finally
'*** (Option) Event เมื่อคำสั่งสมบูรณ์ ***'
End Try
Sample (VB.NET)
Dim objConn As System.Data.OleDb.OleDbConnection
Dim objCmd As System.Data.OleDb.OleDbCommand
Dim strConnString,strSQL As String
Dim Trans As 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()
With objCmd
.Connection = objConn
.Transaction = Trans
.CommandType = CommandType.Text
.CommandText = strSQL
End With
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()
With objCmd
.Connection = objConn
.Transaction = Trans
.CommandType = CommandType.Text
.CommandText = strSQL
End With
objCmd.ExecuteNonQuery()
Trans.Commit() '*** Commit Transaction ***'
Me.lblText.Text = "Record is commit"
Catch ex As Exception
Trans.Rollback() '*** RollBack Transaction ***'
Me.lblText.Text = "Record is rollback ("& ex.Message &")"
End Try
objCmd = Nothing
objConn.Close()
objConn = Nothing
คำอธิบาย
จากตัวอย่างโปรแกรมจะทำการ Insert ข้อมูลโดยใช้ Try ครอบคำสั่ง แต่ถ้ามีการเกิด Error โปรแกรมจะทำงานในส่วนของ Catch ex As Exception , catch (Exception ex) ทันที
|