Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

JavaScript ลองจับ:คำแนะนำทีละขั้นตอน

JavaScript พยายามบล็อก catch เป็นตัวจัดการข้อผิดพลาด บล็อก "ลอง" มีรหัสที่คุณต้องการทดสอบ “catch” มีรหัสที่จะเรียกใช้หากรหัสในบล็อก “ลอง” ของคุณไม่สามารถดำเนินการได้สำเร็จ


เมื่อนักพัฒนาทำการทดสอบโปรแกรม เป็นเรื่องปกติที่จะเขียนโค้ดที่จัดการกับข้อผิดพลาดในบางวิธี สิ่งนี้มีความสง่างามมากกว่าการปล่อยให้โปรแกรมหยุดทำงาน ซึ่งจะทำให้เกิดข้อผิดพลาดในการเขียนโปรแกรมปรากฏในโปรแกรมของพวกเขา ตัวอย่างเช่น คุณอาจต้องการให้ผู้ใช้เห็นข้อความ "โปรดลองอีกครั้งในภายหลัง" แทนที่จะเป็นบันทึกข้อผิดพลาดที่ยาว

นั่นคือสิ่งที่บล็อก try/catch เข้ามา บล็อก Try/catch ช่วยให้คุณจัดการกับข้อผิดพลาดได้อย่างสวยงาม เพื่อที่ปัญหาในการเขียนโปรแกรมจะไม่ทำให้โปรแกรมทั้งหมดขัดข้อง ในคู่มือนี้ เราจะสาธิตวิธีใช้บล็อก try/catch และพูดคุยว่ามีประโยชน์อย่างไร

ข้อผิดพลาดในการจัดการทบทวน

นักพัฒนาทุกคนทำผิดพลาดในโค้ดของพวกเขา เพราะมีหลายวิธีที่โปรแกรมสามารถพังได้

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

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

JavaScript ลองจับ

JavaScript try catch block ระบุข้อผิดพลาดในบล็อกของรหัสที่ระบุ เนื้อหาของบล็อก "จับ" จะทำงานหากมีข้อผิดพลาดในโค้ดในบล็อก "ลอง" ของคุณ คุณยังสามารถใช้บล็อก "สุดท้าย" เพื่อเรียกใช้โค้ดไม่ว่าโปรแกรมของคุณจะรันได้สำเร็จหรือไม่

นี่คือไวยากรณ์สำหรับขั้นตอน try/catch:

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

try {
	// Your code here
	console.log(“The code works!”);
} catch (e) {
	console.log(“There is a problem in my code!”);
}

มีสองข้อความในกลุ่มของเรา:

  • ลอง {}.
  • จับ (จ) {}.

รหัสที่อยู่ในคำสั่ง "ลอง" คือสิ่งที่โปรแกรมจะพยายามเรียกใช้ ในกรณีนี้ โปรแกรมของเราพยายามที่จะพิมพ์ “รหัสนี้ใช้ได้” ไปที่คอนโซล รหัสที่อยู่ใน จับ คำสั่งทำงานหากและเมื่อมีการส่งคืนข้อผิดพลาดใน ลอง . ของคุณ คำสั่ง

ค่า (e) ในคำสั่ง catch แสดงถึงข้อผิดพลาดที่ทำให้โค้ดในคำสั่ง "try" ล้มเหลว คุณอาจตัดสินใจพิมพ์ค่า "e" ออกมา เพื่อดูสาเหตุที่แท้จริงของข้อผิดพลาดที่หยุดโค้ดของคุณ

ลองจับตัวอย่าง JavaScript

เพื่อแสดงตัวอย่างการใช้งานบล็อคลอง/จับ ในตัวอย่างด้านล่าง เราสะกดชื่อตัวแปร JavaScript ในโค้ดของเราผิด

let ourVariable = “Test”;
console.log(ourVarible);

รหัสของเราส่งคืน:

ReferenceError: ourVarible is not defined

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

let ourVariable = “Test”;
try {
console.log(ourVarible);
} catch (e) {
	console.log(“There is a problem!”)
}

รหัสของเราส่งคืน:

There is a problem!

รหัสของเรามี ReferenceError เดียวกันกับที่เราได้เห็นด้านบน แต่แทนที่จะส่งคืนข้อผิดพลาดเริ่มต้นที่ยาวและซับซ้อน โปรแกรมของเราส่งคืนสิ่งที่เราระบุไว้ใน catch บล็อก. รหัสของเราบันทึกข้อผิดพลาด แต่โปรแกรมส่งคืนข้อผิดพลาดที่เรากำหนดเองแทน

บล็อก catch จะติดตามข้อผิดพลาดของเราในอาร์กิวเมนต์ "e" หากเราต้องการ เรายังคงสามารถเข้าถึงข้อผิดพลาดที่ส่งคืนได้ ต่อไปนี้คือตัวอย่างโปรแกรมที่คืนค่า “e”:

let ourVariable = “Test”;
try {
console.log(ourVarible);
} catch (e) {
	console.log(“There is a problem! Here is the error message from the code:”, e)
}

รหัสของเราส่งคืนดังต่อไปนี้:

There is a problem! Here is the error message from the code: ReferenceError: ourVarible is not defined.

ตอนนี้โค้ดของเราจะรายงานข้อผิดพลาดให้เราทราบและยังแสดงข้อความแสดงข้อผิดพลาดที่โปรแกรมส่งมาด้วย

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

JavaScript ลองจับข้อสุดท้าย

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

let ourVariable = "Test";
try {
console.log(ourVarible);
} catch (e) {
console.log("There is a problem! Here is the error message from the code:", e)
} finally {
	console.log("The code has been run!")
}

นี่คือสิ่งที่โปรแกรมของเราส่งคืน:

TypeError: Your variable is not a string!
The code has been run!

รหัสของเราพบข้อผิดพลาด ดังนั้นรหัสภายใน จับ . ของเรา ประโยคทำงาน ส่งคืน TypeError ที่เราเห็นด้านบน หลังจากจัดการข้อผิดพลาดแล้ว รหัสใน สุดท้าย . ของเรา มีการเรียกใช้บล็อกซึ่งพิมพ์ รหัสนี้ถูกเรียกใช้แล้ว!



บทสรุป

คุณสามารถใช้คำสั่ง try/catch ของ JavaScript เพื่อทดสอบโค้ดของคุณได้ เนื้อหาของคำสั่ง catch จะทำงานหากคำสั่ง try ของคุณไม่สามารถดำเนินการได้สำเร็จ คำสั่งสุดท้ายจะดำเนินการทันทีหลังจากคำสั่ง try หรือ catch

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

คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเข้ารหัสใน JavaScript หรือไม่? อ่านคู่มือวิธีการเรียนรู้ JavaScript ของเรา คู่มือนี้มีคำแนะนำเบื้องต้นเกี่ยวกับวิธีการเรียนรู้ JavaScript