1. Syntax Error
2. Runtime Error
3. Logical Error
Syntax Errors
เกิดจากการที่เราเขียนโค้ดไม่สอดคล้อง หรือไม่ถูกหลักเกณฑ์ไวยากรณ์ภาษาVisual Basic เช่น
Private Sub Command1_Click()
Dim strCurrency As String
strCurrency = Format(1000.25, #,##0.00)
Print strCurrency
End Sub
เมื่อรันซับโพรซีเยอร์นี้ VB จะตรวจพบข้อผิดพลาด พร้อมทั้งแจ้ง Message Box บอกข้อผิดพลาดดังรูป
Syntax Errors
เนื่องจากไม่มีเครื่องหมาย “เช่น If I = 0
I = I+1
End if
จะเห็นว่าขาดคำว่า Then ทำให้ Error
Runtime Error
ข้อผิดพลาดชนิดนี้ เป็นข้อผิดพลาดที่ตรวจสอบยากกว่า Syntax Errors เพราะต้อง
รันโปรแกรมแล้ว จึงจะรู้ว่าเกิดข้อผิดพลาด อย่างเช่น ในกรณีที่เรามีการหารด้วยตัวเลข 0
เมื่อโปรแกรมรันมาถึงบรรทัดนี้จะเกิด Error พร้อมกับแจ้งว่า มีข้อผิดพลาดที่บรรทัดนี้
เป็นต้น ตัวอย่างเช่น
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 100
y = x / 0
MsgBox "ค่า y เท่ากับ" & y, vbInformation, "ค่า y"
End Sub
เมื่อรันซับโพรซีเยอร์นี้ Visual Basic จะตรวจพบข้อผิดพลาด พร้อมทั้งแจ้ง Message Box บอกข้อผิดพลาดด้วย
Logical Error
ข้อผิดพลาดนี้ คือลักษณะผลลัพธ์ที่ไม่ถูกต้องเวลามีการคำนวณหรือประมวลนั่นเอง สาเหตุที่เกิดขึ้นอาจมาจากตัวผู้เขียนโปรแกรมโดยตรง คือ ผู้เขียนโปรแกรมมีความเข้าใจผิดพลาดแล้วเขียนโปรแกรมตามความเข้าใจที่ผิดนั้น ข้อผิดพลาดชนิดนี้เป็นข้อผิดพลาดที่ตรวจพบได้ยากที่สุดเนื่องจากโปรแกรม Visual Basic ไม่สามารถตรวจพบข้อผิดพลาดได้นั่นเอง ดังตัวอย่างเช่น
Private Sub Command1_Click()
If Len(txtSource.Text) = 0 Then
MsgBox "ข้อความที่ส่งมาคือ" & txtSource.Text
Else
MsgBox "กรุณากรอกข้อความด้วย"
End If
End Sub
การตรวจสอบและแก้ไขข้อผิดพลาด (Error Object and Debug Tools)
1. Auto Syntax Check เป็นการกำหนดให้ Editor ตรวจสอบหาข้อผิดพลาดทางด้าน Syntax ทุกครั้ง
2. Require Variable Declaration เป็นการกำหนดให้ Editor ตรวจหาว่าตัวแปรใดในโปรแกรมที่ไม่ได้ Declare ไว้
3. Auto List Members เป็นการกำหนดให้ Editor แสดง Property หรือ Method ที่เกี่ยวข้องกับประโยคคำสั่งที่เรากำลังพิมพ์บนจอภาพในรูปของ Dropdown ListBox ดังรูป
4. Auto Quick Info เป็นการกำหนดให้ Editor แสดง Pop-Up Box ซึ่งเป็นกรอบสี่เหลี่ยมเล็กใต้ประโยคคำสั่งที่เรากำลังพิมพ์บนจอภาพเพื่อแสดงถึงรูปแบบของฟังก์ชั่นนั้นๆ ดังรูป
คำสั่งสำหรับจัดการกับข้อผิดพลาด
ใน ภาษา Visual Basic มีคำสั่งพิเศษสำหรับจัดการกับ Errorที่เกิดขึ้นขณะ Runtime 3 แบบ คือ
1. On Error Goto Label : คำสั่งนี้จะคอยตรวจจับ Error ที่เกิดขึ้นในขณะ Runtime เมื่อเกิด Error จะกระโดยไปทำงานที่ Label ที่กำหนด โดย Label คือข้อความทีมีเครื่องหมาย “ : ” ต่อท้าย
เช่น
ตัวอย่างโปรแกรมรับตัวเลขเท่านั้น
Private Sub Command1_Click()
Dim sum As Integer
sum = InputBox(“กรุณาใส่ตัวเลขจำนวนเต็มด้วย “, “ รับข้อมูล “)
MsgBox sum
End Sub
คำสั่งสำหรับจัดการกับข้อผิดพลาด
Private Sub Command1_Click ()
On Error GoTo Err Trap
Dim sum As Integer
sum = InputBox (“กรุณาใส่ตัวเลขจำนวนเต็มด้วย “, “รับข้อมูล “)
MsgBox sum
MsgBox sum
ErrTrap:
Exit Sub
End Sub
2. On Error Resume Next : คำสั่งนี้จะไม่สนใจ Error ที่เกิดขึ้น ถ้าเกิด Error จะทำงานต่อไปทันทีโดยไม่มีการฟ้อง Error ขึ้น เช่น
Private Sub Command1_Click()
On Error Resume Next
Dim sum As Integer
sum = InputBox(“กรุณาใส่ตัวเลขจำนวนเต็มด้วย “, “รับข้อมูล “)
MsgBox sum
MsgBox sum
End Sub
4. On Error Goto 0 : คำสั่งนี้สำหรับยกเลิก คำสั่ง On Error ต่างๆ ที่เคยประกาศมา
ไม่มีความคิดเห็น:
แสดงความคิดเห็น