You are on page 1of 3

บทที13

การเขียนโปรแกรมด้วยภาษาใดก็ตาม
จะมีขันตอนหนึ งทีมีความสําคัญเปนอย่างมาก

พื้นฐานการดักจับ นั นคือ การเขียนโค้ดดักจับข้อผิดพลาด (Debug)


เราจะมาศึกษาว่า เมือเมือโค้ดของเราทํางานแล้ว
และ เกิดข้อผิดพลาดจะให้ทําอย่างไร?

ตรวจสอบขอผิดพลาด
(Debug & Exception)

พืนฐานการดักจับข้อผิดพลาดด้วย Try...Catch...

คําสัง Try..Catch...
ทําหน้ าทีตรวจสอบและดักจับข้อผิดพลาคทีเกิดขึน สร้างตัวแปร x เก็บเลข
มีโครงสร้างการใช้งาน ดังต่อไปนี จํานวนเต็ม 500 นํ ามาบวก
กับตัวแปร str เก็บข้อความ "abc" โด้ด
•โค ้ดทีอยู่ระหว่างบล็อก try คือ โค ้ดทํางานของ . ดข ้อผิดพลาดแน่ นอน เพราะว่าตัวเลขบวกกับข ้อความไม่ได ้
จุดนี เกิ
เราตามปกติ
•โค ้ดทีอยู่ระหว่างบล็อก catch คือ โค ้ดทีถูกสัง
ให ้ทํางานเมือเกิดข ้อผิดพลาด สามารถใช ้
พารามิเตอร ์ทีชือว่า ex ร่วมกับคุณสมบัต ิ
Message ทําหน้าทีแสดงคําอธิบายว่า
ข ้อผิดพลาดดังกล่าวเกิดจากอะไร
•โค ้ดทีอยู่ระหว่างบล็อก Finaly คือ โด ้ดทีถูกสัง
ให ้ทํางานเป็ นลําดับสุดท ้าย
การทํางานของเราเปนเรืองหารโดยเฉพาะ กําหนดให้ตัว
ต่อมา ผูเ้ ขียนลองเปลียนค่าของตัวแปร str แปร y มีค่าเปน 0 อยู่ในฐานะเปนตัวหาร กรณี นีไม่เกิด
เปนข้อความทีเปนตัวเลข "1000" พบว่าเกิดข้อผิดพลาด ข้อผิดพลาด แต่ได้คําตอบเปนเครืองหมาย Infinity ดังนี

เช่นกันเพราะว่าตัวเลขทีอยู่ในฐานะข้อความ string
นํ ามาใช้งานด้านคณิ ตศาสตร์ไม่ได้

Dim x As integer = 500


Dim str As string = 1000

การดักจับขอผิดพลาดกับโครงสรางขอมูล Array การดักจับขอผิดพลาดกับโครงสรางขอมูล Array

โครงสร้างข้อมูล Array ก็คือ การ


สร้างตัวแปรขึนมาหลายตัวในเวลา จากโค้ดข้างตัน ผูเ้ ขียนสร้างตัวแปรอาร์ เรย์ทีชือว่า arr ขึ'นมา กําหนดให้มีสมาชิก 3 ตัว คือข้อความ aaa, bbb และข้อความ ccc
เดียวกัน ตัวแปรทุกตัวมีชือเหมือนกัน, โดยทีสมาชิกแต่ละตัวมีลาํ ดับ arr(O), arr(1) และ arr(2)ตามลําดับ
มีข้อมูลชนิ ดเดียวกัน และอ้างอิงตัวแปร เมือมีการอ้างอิงลําดับ arr(3) อยูน่ อกขอบเขตของสมาชิกทีมีอยู่ หรื อไม่มีลาํ ดับนี'อยูใ่ นตัวแปรอาร์ เรย์ arr ทําให้เกิดข้อผิดพลาดขึ'น ดัก
แต่ละตัวด้วยลําดับดัชนี (Index) โดยที จับด้วยคลาส IndexOutOfRangeException
สมาชิกตัวแรกมีลําดับอ้างอิงเริมตัน 0
การอ่านค่าจากตัวแปรอาร์เรย์ คุณต้อง
ระบุลําดับสมาชิกให้ถูกต้อง ในกรณี ที
คุณระบุลําดับสมาชิกผิด สามารถ
ตรวจสอบลําดับโดยอาศั ยคลาส
IndexOutOfRangeException
ดังโค้ดต่อไปนี
สรุป
การดักจับข้อผิดพลาดด้วยคําสัง try..Catch มี
วิธีการใช้งานค่อนข้างง่ายแต่มีประสิ ทธิภาพดีถือ

ทายบท เป็ นขั'นตอนการตรวจสอบโค้ดทีนักพัฒนาทุกคน


ต้องทําเป็ น

You might also like