การจัดการข้อผิดพลาดและข้อความสำหรับปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูล

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

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

ข้อมูล: หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการข้อยกเว้นใน JavaScript โปรดดู ลอง...ข้อความจับ

ประเภทของข้อผิดพลาด

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

  1. ข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อ
  2. ข้อผิดพลาดภายนอกของเครื่องมือเชื่อมต่อ
  3. ข้อผิดพลาดของ Looker Studio

เครื่องมือเชื่อมต่อควรจัดการข้อผิดพลาดภายในและภายนอกของเครื่องมือเชื่อมต่อ ข้อผิดพลาดเหล่านี้เกิดขึ้นเนื่องจากโค้ดที่นักพัฒนาซอฟต์แวร์เขียน

ข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อ

เกิดข้อผิดพลาดภายในของเครื่องมือเชื่อมต่อระหว่างการทำงานของเครื่องมือเชื่อมต่อ ตัวอย่างเช่น หาก เครื่องมือเชื่อมต่อแยกวิเคราะห์การตอบกลับของ API ระหว่างการดำเนินการของ getData() ไม่ได้ คุณควรคาดการณ์และจัดการกับข้อผิดพลาดเหล่านี้โดยใช้คำอธิบายที่ใช้งานง่าย หากมี

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

ข้อผิดพลาดภายนอกของเครื่องมือเชื่อมต่อ

เกิดข้อผิดพลาดภายนอกของเครื่องมือเชื่อมต่อหลังจากการทำงานของเครื่องมือเชื่อมต่อ ตัวอย่างเช่น เมื่อ คำขอ getData() สำหรับ 3 ช่องแสดงผลลัพธ์เพียง 2 ช่องเท่านั้น แม้ว่า เครื่องมือเชื่อมต่อดำเนินการเสร็จสมบูรณ์แล้ว แต่ไม่เป็นไปตามคำขอจาก Looker Studio การทดสอบอย่างละเอียดจะป้องกันข้อผิดพลาดเหล่านี้ได้

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

ข้อผิดพลาดของ Looker Studio

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

หากข้อผิดพลาดไม่เกี่ยวข้องกับเครื่องมือเชื่อมต่อโดยตรง แสดงว่าไม่มีการดำเนินการ เพื่อให้นักพัฒนาซอฟต์แวร์เครื่องมือเชื่อมต่อดำเนินการ ผู้ใช้สามารถขอความช่วยเหลือเพิ่มเติมได้โดยไปที่ ศูนย์ช่วยเหลือของ Looker Studio

กำลังแสดงข้อความแสดงข้อผิดพลาด

แสดงรายละเอียดข้อผิดพลาดตามสถานะผู้ดูแลระบบ

เมื่อเครื่องมือเชื่อมต่อแสดงข้อผิดพลาด Looker Studio จะแสดงข้อความแสดงข้อผิดพลาด ขึ้นอยู่กับสถานะผู้ดูแลระบบของผู้ใช้

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

แสดงข้อผิดพลาดที่แสดงต่อผู้ใช้

โดยค่าเริ่มต้น เฉพาะผู้ดูแลระบบเครื่องมือเชื่อมต่อเท่านั้นที่จะดูรายละเอียดข้อผิดพลาดได้ ซึ่งจะช่วยป้องกัน การเปิดเผยข้อมูลที่ละเอียดอ่อนโดยไม่ตั้งใจ เช่น คีย์ API ในกลุ่ม การติดตาม หากต้องการแสดงข้อความแสดงข้อผิดพลาดแก่ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบ ให้ใช้ newUserError() จาก บริการสคริปต์แอป 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 ล้มเหลวด้วยเหตุผลที่ไม่ร้ายแรง (เช่น การปลดโหลดของเซิร์ฟเวอร์) จากนั้นควรลองอีกครั้งก่อนที่จะเกิดข้อผิดพลาด

ตรวจจับและแสดงข้อผิดพลาด

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

ดูการส่งข้อผิดพลาดที่ผู้ใช้เห็น

บันทึกข้อผิดพลาดไปยัง Stackdriver

ใช้ Stackdriver เพื่อบันทึกข้อผิดพลาดและข้อความอื่นๆ วิธีนี้ช่วยในเรื่อง การทำความเข้าใจข้อผิดพลาด การแก้ไขข้อบกพร่อง และการหาข้อยกเว้นที่ควบคุมไม่ได้

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

เลิกใช้งานแล้ว: ใช้คำนำหน้า DS_USER: สำหรับข้อความแสดงข้อผิดพลาดที่ปลอดภัย

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

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

data-studio/errors.gs
// Admin and non-admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('DS_USER:This will be shown to admin & non-admin.');
}

// Only admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('This message will only be shown to admin users');
}