VBScript - การจัดการข้อผิดพลาด
ข้อผิดพลาดในการเขียนโปรแกรมมีสามประเภท: (a) ข้อผิดพลาดทางไวยากรณ์ (b) ข้อผิดพลาดรันไทม์และ (c) ข้อผิดพลาดทางตรรกะ
ข้อผิดพลาดทางไวยากรณ์
ข้อผิดพลาดทางไวยากรณ์หรือที่เรียกว่าข้อผิดพลาดในการแยกวิเคราะห์เกิดขึ้นในเวลาตีความสำหรับ VBScript ตัวอย่างเช่นบรรทัดต่อไปนี้ทำให้เกิดข้อผิดพลาดทางไวยากรณ์เนื่องจากไม่มีวงเล็บปิด -
<script type = "text/vbscript">
dim x,y
x = "Tutorialspoint"
y = Ucase(x
</script>
ข้อผิดพลาดรันไทม์
ข้อผิดพลาดรันไทม์เรียกอีกอย่างว่าข้อยกเว้นเกิดขึ้นระหว่างการดำเนินการหลังการตีความ ตัวอย่างเช่นบรรทัดต่อไปนี้ทำให้เกิดข้อผิดพลาดรันไทม์เนื่องจากไวยากรณ์ที่นี่ถูกต้อง แต่ในรันไทม์มันพยายามเรียก fnmultiply ซึ่งเป็นฟังก์ชันที่ไม่มีอยู่ -
<script type = "text/vbscript">
Dim x,y
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
ข้อผิดพลาดทางตรรกะ
ข้อผิดพลาดทางลอจิกอาจเป็นข้อผิดพลาดประเภทที่ยากที่สุดในการติดตาม ข้อผิดพลาดเหล่านี้ไม่ได้เป็นผลมาจากข้อผิดพลาดทางไวยากรณ์หรือรันไทม์ แต่จะเกิดขึ้นเมื่อคุณทำผิดพลาดในตรรกะที่ขับเคลื่อนสคริปต์ของคุณและคุณไม่ได้รับผลลัพธ์ที่คุณคาดหวัง คุณไม่สามารถจับข้อผิดพลาดเหล่านั้นได้เนื่องจากขึ้นอยู่กับความต้องการทางธุรกิจของคุณว่าคุณต้องการใส่ตรรกะประเภทใดในโปรแกรมของคุณ ตัวอย่างเช่นการหารตัวเลขด้วยศูนย์หรือสคริปต์ที่เขียนขึ้นซึ่งเข้าสู่การวนซ้ำแบบไม่มีที่สิ้นสุด
Err Object
สมมติว่าเรามีข้อผิดพลาดรันไทม์การดำเนินการจะหยุดลงโดยการแสดงข้อความแสดงข้อผิดพลาด ในฐานะนักพัฒนาหากเราต้องการจับข้อผิดพลาดนั้นError ใช้วัตถุ
ตัวอย่าง
ในตัวอย่างด้านล่างนี้ Err.Number ให้หมายเลขข้อผิดพลาดและ Err.Description ให้คำอธิบายข้อผิดพลาด
<script type = "text/vbscript">
Err.Raise 6 ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear ' Clear the error.
</script>