โค้ดควรจัดการข้อผิดพลาดอย่างถูกต้องเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดี แสดงข้อความแสดงข้อผิดพลาดที่นำไปใช้ได้จริงให้แก่ผู้ใช้ ซึ่งระบุขั้นตอนการแก้ไขปัญหาในการแก้ไขปัญหา
เอกสารนี้อธิบายข้อผิดพลาดที่อาจเกิดขึ้นกับเครื่องมือเชื่อมต่อ วิธีการทำงานของข้อความแสดงข้อผิดพลาด และวิธีจัดการข้อผิดพลาดของเครื่องมือเชื่อมต่ออย่างถูกต้อง
ข้อมูล: ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการข้อยกเว้นใน JavaScript ได้ที่ลอง...คำสั่ง Catch
ประเภทของข้อผิดพลาด
ประเภทและสาเหตุของข้อผิดพลาดที่ผู้ใช้อาจพบเมื่อใช้เครื่องมือเชื่อมต่อมักจัดอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งใน 3 หมวดหมู่ต่อไปนี้
- ข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อ
- ข้อผิดพลาดจากภายนอกของเครื่องมือเชื่อมต่อ
- ข้อผิดพลาดของ Looker Studio
นักพัฒนาเครื่องมือเชื่อมต่อควรจัดการข้อผิดพลาดภายในและภายนอกของตัวเชื่อมต่อ ข้อผิดพลาดเหล่านี้เกิดขึ้นจากโค้ดที่นักพัฒนาแอปสร้างขึ้น
ข้อผิดพลาดภายในของตัวเชื่อมต่อ
เกิดข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อเกิดขึ้นในระหว่างการดำเนินการกับเครื่องมือเชื่อมต่อ เช่น หากเครื่องมือเชื่อมต่อแยกวิเคราะห์การตอบกลับของ API ในระหว่างการดำเนินการ getData()
ไม่ได้
ควรคาดการณ์และจัดการข้อผิดพลาดเหล่านี้ด้วยคำอธิบายที่ใช้งานง่าย (หากมี)
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อได้ที่แนวทางปฏิบัติแนะนำในการจัดการข้อผิดพลาดของเครื่องมือเชื่อมต่อ
ข้อผิดพลาดภายนอกของตัวเชื่อมต่อ
ข้อผิดพลาดภายนอกของตัวเชื่อมต่อเกิดขึ้นหลังจากการดำเนินการของตัวเชื่อมต่อ ตัวอย่างเช่น เมื่อคำขอ getData()
สำหรับ 3 ช่องแสดงผลข้อมูลเพียง 2 รายการ แม้ว่าเครื่องมือเชื่อมต่อจะดำเนินการสำเร็จแล้ว แต่เครื่องมือเชื่อมต่อดังกล่าวไม่ตอบสนองคำขอจาก Looker Studio การทดสอบอย่างละเอียดจะช่วยป้องกันข้อผิดพลาดเหล่านี้
โดยทั่วไปแล้ว ข้อผิดพลาดภายนอกของเครื่องมือเชื่อมต่อจะแก้ไขได้โดยการดูรายละเอียดข้อผิดพลาด (หากมี) และแก้ไขข้อบกพร่องของโค้ดเพื่อระบุปัญหา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขข้อบกพร่องของเครื่องมือเชื่อมต่อ โปรดดูแก้ไขข้อบกพร่องของโค้ด
ข้อผิดพลาดของ Looker Studio
ข้อผิดพลาดของ Looker Studio เป็นข้อผิดพลาดที่ไม่เกี่ยวข้องกับโค้ดเครื่องมือเชื่อมต่อ เช่น หากผู้ใช้พยายามใช้แผนภูมิอนุกรมเวลากับแหล่งข้อมูลที่ไม่มีมิติข้อมูลวันที่/เวลา
หากข้อผิดพลาดไม่เกี่ยวข้องกับเครื่องมือเชื่อมต่อโดยตรง ก็หมายความว่านักพัฒนาเครื่องมือเชื่อมต่อไม่ต้องดำเนินการใดๆ ผู้ใช้จะขอรับความช่วยเหลือเพิ่มเติมได้ที่ศูนย์ช่วยเหลือของ Looker Studio
การแสดงข้อความแสดงข้อผิดพลาด
การแสดงรายละเอียดข้อผิดพลาดตามสถานะผู้ดูแลระบบ
เมื่อเครื่องมือเชื่อมต่อแสดงข้อผิดพลาด Looker Studio จะแสดงข้อความแสดงข้อผิดพลาดโดยขึ้นอยู่กับสถานะผู้ดูแลระบบของผู้ใช้
- หากผู้ใช้เป็นผู้ใช้ที่ดูแลระบบก็จะเห็นรายละเอียดทั้งหมด ซึ่งรวมถึงข้อความแสดงข้อผิดพลาด ประเภทข้อผิดพลาด และสแต็กเทรซ
- หากไม่ใช่ผู้ใช้ที่ดูแลระบบ ผู้ใช้จะเห็นรายละเอียดเฉพาะในกรณีที่ข้อผิดพลาดมีข้อความที่เหมาะกับผู้ใช้เท่านั้น หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการแสดงข้อความแสดงข้อผิดพลาดต่อผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ โปรดดูหัวข้อการแสดงข้อผิดพลาดที่ผู้ใช้เห็น
การแสดงข้อผิดพลาดที่ผู้ใช้เห็น
โดยค่าเริ่มต้น จะมีเพียงผู้ดูแลระบบเครื่องมือเชื่อมต่อเท่านั้นที่จะเห็นรายละเอียดของข้อผิดพลาด วิธีนี้จะช่วยป้องกันการเปิดเผยข้อมูลที่ละเอียดอ่อนโดยไม่ได้ตั้งใจ เช่น คีย์ API ในสแต็กเทรซ หากต้องการแสดงข้อความแสดงข้อผิดพลาดแก่ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ ให้ใช้ newUserError() จากบริการ Apps Script ของ Looker Studio
ตัวอย่าง
try {
// API request that can be malformed.
getDataFromAPI();
} catch (e) {
DataStudioApp.createCommunityConnector()
.newUserError()
.setDebugText('Error fetching data from API. Exception details: ' + e)
.setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
.throwException();
}
ในตัวอย่างนี้ setText()
จะกำหนดข้อความที่จะแสดงต่อผู้ใช้ทั้งหมด ขณะที่ setDebugText()
จะกำหนดข้อความที่จะแสดงต่อผู้ใช้ที่ดูแลระบบเท่านั้น
แนวทางปฏิบัติแนะนำในการจัดการข้อผิดพลาดของเครื่องมือเชื่อมต่อ
คุณควรพยายามจับและจัดการข้อผิดพลาดให้มากที่สุดในระหว่างใช้โค้ดเครื่องมือเชื่อมต่อ ตัวอย่างเช่น การดำเนินการทั่วไปบางอย่างที่อาจทำให้เกิดข้อผิดพลาดหรือสถานะไม่พึงประสงค์ ได้แก่
- การดึง URL ที่ล้มเหลว (ข้อผิดพลาดชั่วคราว ระยะหมดเวลา)
- ไม่มีข้อมูลสำหรับช่วงเวลาที่ร้องขอมา
- แยกวิเคราะห์หรือจัดรูปแบบข้อมูลจาก API ไม่ได้
- เพิกถอนโทเค็นการให้สิทธิ์แล้ว
จัดการข้อผิดพลาดที่กู้คืนได้
จุดของการดำเนินการของเครื่องมือเชื่อมต่อที่อาจล้มเหลวแต่กู้คืนได้ควรได้รับการจัดการ ตัวอย่างเช่น หากคำขอ API ล้มเหลวโดยมีเหตุผลที่ไม่ร้ายแรง (เช่น การปลดโหลดของเซิร์ฟเวอร์) ควรส่งคำขอ API อีกครั้งก่อนที่จะแสดงข้อผิดพลาด
จับและแสดงข้อผิดพลาด
ควรตรวจพบข้อผิดพลาดที่ไม่สามารถกู้คืนได้และทำการแก้ไขอีกครั้ง ข้อผิดพลาดที่เกิดขึ้นซ้ำ จะช่วยให้ผู้ใช้เข้าใจสาเหตุของข้อผิดพลาดได้ หากสามารถแก้ปัญหาได้ ก็ควรระบุรายละเอียดของการดำเนินการแก้ไข
ดูการแสดงข้อผิดพลาดที่ผู้ใช้เห็น
บันทึกข้อผิดพลาดไปยัง Stackdriver
ใช้ Stackdriver เพื่อบันทึกข้อผิดพลาดและข้อความอื่นๆ ซึ่งจะช่วยให้เข้าใจข้อผิดพลาด การแก้ไขข้อบกพร่อง และค้นหาข้อยกเว้นที่ไม่มีการจัดการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรายงานข้อผิดพลาด Stackdriver, วิธีเปิดใช้การบันทึกข้อยกเว้นสำหรับสคริปต์ และวิธีระบุผู้ใช้อย่างปลอดภัยเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่องได้ที่การใช้ Stackdriver Logging
เลิกใช้งานแล้ว: ใช้คำนำหน้า DS_USER:
สำหรับข้อความแสดงข้อผิดพลาดที่ปลอดภัย
หากต้องการส่งข้อความแสดงข้อผิดพลาดที่เหมาะกับผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ ให้ใส่คำนำหน้า DS_USER:
ที่มีข้อความแสดงข้อผิดพลาด คำนำหน้านี้ใช้เพื่อระบุข้อความที่ปลอดภัยสำหรับผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ และจะไม่รวมอยู่ในข้อความแสดงข้อผิดพลาดจริง
ตัวอย่างต่อไปนี้รวมถึงกรณีที่ข้อความแสดงข้อผิดพลาดจะแสดงแก่ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ ส่วนกรณีที่ข้อความแสดงข้อผิดพลาดจะแสดงให้กับผู้ใช้ที่ดูแลระบบเท่านั้น