การรายงานข้อผิดพลาดโดยอัตโนมัติ
คุณสามารถส่งข้อผิดพลาดจากฟังก์ชันไปยัง Error Reporting ได้ดังที่แสดงด้านล่าง
// These WILL be reported to Error Reporting
throw new Error('I failed you'); // Will cause a cold start if not caught
หากต้องการการรายงานข้อผิดพลาดที่ละเอียดยิ่งขึ้น คุณสามารถใช้ไลบรารีของไคลเอ็นต์ Error Reporting
คุณดูข้อผิดพลาดที่รายงานได้ใน Error Reporting ในคอนโซล Google Cloud นอกจากนี้ คุณยังดูข้อผิดพลาดที่รายงานจากฟังก์ชันหนึ่งๆ ได้เมื่อเลือกฟังก์ชันนั้นจากรายการฟังก์ชันในคอนโซล Google Cloud
ข้อยกเว้นที่ตรวจไม่พบซึ่งเกิดจากฟังก์ชันของคุณจะปรากฏใน Error Reporting โปรดทราบว่าข้อยกเว้นที่ตรวจไม่พบบางประเภท (เช่น ข้อยกเว้นที่แสดงแบบอะซิงโครนัส) จะทำให้เกิด Cold Start เมื่อมีการเรียกใช้ฟังก์ชันในอนาคต ซึ่งจะเพิ่มระยะเวลาที่ฟังก์ชันใช้ในการทำงาน
การรายงานข้อผิดพลาดด้วยตนเอง
กำลังนำเข้าทรัพยากร Dependency
หากต้องการรายงานข้อผิดพลาดไปยัง Error Reporting จากฟังก์ชัน ให้นําเข้าฟังก์ชัน error จาก SDK logger ของ Cloud Functions
// All available logging functions
const {
log,
info,
debug,
warn,
error,
write,
} = require("firebase-functions/logger");
กำลังส่งไปยัง Cloud Logging
ฟังก์ชัน error จาก SDK logger ของ Cloud Functions จะรายงานข้อผิดพลาดไปยังทั้ง Cloud Logging และ Error Reporting หากต้องการรวมบริบทเพิ่มเติมจากข้อผิดพลาดเป็นข้อมูลที่มีโครงสร้าง ให้ส่งออบเจ็กต์ข้อผิดพลาดเป็นอาร์กิวเมนต์ที่ 2 ดังนี้
} catch (err) {
// Attach an error object as the second argument
error("Unable to read quote from Firestore, sending default instead",
err);