Skip to content
Siamcoder

การจัดการข้อผิดพลาดใน TypeScript

typescript1 min read

การจัดการข้อผิดพลาดเป็นส่วนสำคัญของการเขียนโปรแกรม เพื่อให้โปรแกรมทำงานได้อย่างเสถียรและปลอดภัย ใน TypeScript เราสามารถใช้การจัดการข้อผิดพลาดด้วยคำสั่ง try และ catch เพื่อรับและจัดการกับข้อผิดพลาดที่อาจเกิดขึ้น นี่คือตัวอย่างการใช้งาน:

try {
// โค้ดที่อาจเกิดข้อผิดพลาด
let result = 10 / 0; // การหารด้วยศูนย์จะเกิดข้อผิดพลาด
console.log(result);
} catch (error) {
// จัดการกับข้อผิดพลาดที่เกิดขึ้น
console.log('เกิดข้อผิดพลาด:', error.message);
}`

ในตัวอย่างข้างต้น เราใช้คำสั่ง try เพื่อครอบโค้ดที่อาจเกิดข้อผิดพลาด ในกรณีนี้เราทดลองหาร 10 ด้วย 0 ซึ่งเป็นการทำงานที่ไม่ถูกต้องและเกิดข้อผิดพลาดทันที

ในบล็อก catch เราจัดการกับข้อผิดพลาดที่เกิดขึ้น โดยแสดงข้อความเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นผ่าน error.message ซึ่งจะแสดงข้อความ "เกิดข้อผิดพลาด: Divide by zero" เนื่องจากเกิดข้อผิดพลาดการหารด้วยศูนย์

การใช้งาน try และ catch ใน TypeScript ช่วยให้เราสามารถจัดการกับข้อผิดพลาดได้อย่างเหมาะสมและทำให้โปรแกรมทำงานได้อย่างปลอดภัย และให้ข้อมูลเพียงพอเพื่อแก้ไขปัญหาที่เกิดขึ้นได้อย่างถูกต้อง

นอกจากการใช้งาน try และ catch เพื่อจัดการข้อผิดพลาดที่เกิดขึ้น ใน TypeScript เรายังสามารถใช้คำสั่ง throw เพื่อสร้างข้อผิดพลาดขึ้นมาเองเมื่อต้องการ โดยมีรูปแบบการใช้งานดังนี้:

function validateAge(age: number) {
if (age < 0) {
throw new Error('อายุต้องไม่ติดลบ');
}
if (age < 18) {
throw new Error('อายุต้องมากกว่าหรือเท่ากับ 18');
}
}
try {
validateAge(15);
} catch (error) {
console.log('เกิดข้อผิดพลาด:', error.message);
}`

ในตัวอย่างข้างต้น เราสร้างฟังก์ชัน validateAge เพื่อตรวจสอบว่าอายุที่รับเข้ามามีค่าถูกต้องหรือไม่ ถ้าอายุติดลบหรือน้อยกว่า 18 โปรแกรมจะสร้างข้อผิดพลาดขึ้นมาโดยใช้คำสั่ง throw และกำหนดข้อความของข้อผิดพลาด

ในบล็อก catch เราจะแสดงข้อความเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นผ่าน error.message ซึ่งจะแสดงข้อความ "เกิดข้อผิดพลาด: อายุต้องมากกว่าหรือเท่ากับ 18" เนื่องจากอายุที่ส่งเข้ามาคือ 15 ซึ่งน้อยกว่าที่กำหนดไว้ในฟังก์ชัน validateAge

การใช้งาน throw ใน TypeScript ช่วยให้เราสามารถสร้างข้อผิดพลาดเองได้ตามเงื่อนไขที่ต้องการ ทำให้เราสามารถกำหนดการจัดการข้อผิดพลาดได้อย่างถูกต้องและตรงตามความต้องการของโปรแกรม