خطأ في المعالجة والرسائل الخاصة بـ "موصِّلات المنتدى"

لتوفير تجربة مستخدم جيدة، يجب أن يتعامل الرمز الخاص بك مع الأخطاء بشكل صحيح. تقديم رسائل خطأ قابلة للتنفيذ للمستخدمين تحدد خطوات تصحيحية وحل المشكلة.

يصف هذا المستند الأخطاء التي قد تحدث مع الموصلات وكيفية حدوث عمل الرسائل، وكيفية التعامل مع أخطاء الموصل بشكل صحيح.

معلومات: لمزيد من المعلومات حول التعامل مع الاستثناءات في JavaScript، راجع جرِّب...عبارة التقاط.

أنواع الأخطاء

أنواع وأسباب الأخطاء التي قد يواجهها المستخدم عند استخدام ضمن إحدى الفئات الثلاث التالية:

  1. أخطاء داخلية في الموصل
  2. الأخطاء الخارجية في الموصل
  3. أخطاء Looker Studio

يجب أن يتعامل الموصل مع الأخطاء الداخلية والخارجية للموصل. مطور البرامج. تحدث هذه الأخطاء بسبب رمز من إعداد المطوّر.

خطأ داخلي في الموصل.

تحدث أخطاء داخلية للموصل أثناء تنفيذ الموصل. على سبيل المثال، إذا كانت يتعذّر على الموصل تحليل استجابة واجهة برمجة التطبيقات أثناء تنفيذ getData(). يجب توقع هذه الأخطاء والتعامل معها مع تفسيرات سهلة الاستخدام حيثما ينطبق ذلك.

لمزيد من المعلومات حول التعامل مع الأخطاء الداخلية للموصل، يمكنك الاطلاع على أفضل الممارسات للتعامل مع أخطاء الموصل.

خطأ خارجي في الموصل

تحدث الأخطاء الخارجية للموصل بعد تنفيذ الموصل. على سبيل المثال، عندما يؤدي طلب getData() لثلاثة حقول إلى إرجاع بيانات لحقلَين فقط. وعلى الرغم من أن اكتمل تنفيذ الموصل، ولم تتم تلبية الطلب من Looker. استوديو YouTube. يمكن للاختبار الشامل منع حدوث هذه الأخطاء.

يمكن عادةً إصلاح الأخطاء الخارجية للموصل من خلال مراجعة تفاصيل الخطأ (إذا وتصحيح الأخطاء في الرمز لتحديد المشكلة. لمزيد من المعلومات حول لتصحيح أخطاء الموصل، يُرجى الاطّلاع على تصحيح أخطاء الرمز.

خطأ في Looker Studio

أخطاء Looker Studio هي أخطاء غير مرتبطة برمز الموصِّل. على سبيل المثال: إذا حاول المستخدم استخدام رسم بياني لسلسلة زمنية مع مصدر بيانات بدون بُعد التاريخ/الوقت.

إذا لم يكن الخطأ مرتبطًا مباشرة بالموصل، فليس هناك أي إجراء ليأخذه مطور الموصل. يمكن للمستخدمين العثور على مساعدة إضافية من خلال الانتقال إلى مركز مساعدة Looker Studio

عرض رسائل الخطأ

عرض تفاصيل الخطأ استنادًا إلى حالة المشرف

عندما يعرض الموصِّل رسالة خطأ، تعرض أداة Looker Studio رسالة الخطأ. استنادًا إلى حالة المشرف الخاصة بالمستخدم.

  • في حال كان المستخدم مستخدمًا إداريًا، ستظهر له جميع التفاصيل. وتشمل هذه المعلومات ما يلي: رسالة الخطأ ونوع الخطأ وتتبع تسلسل استدعاء الدوال البرمجية.
  • إذا لم يكن المستخدم مشرفًا، لن تظهر له التفاصيل إلا إذا رسالة سهلة الاستخدام. مزيد من المعلومات حول عرض الخطأ الرسائل الموجَّهة إلى المستخدمين غير المشرفين، ستظهر الرسالة عرض الأخطاء التي تواجه المستخدمين.

عرض الأخطاء التي يواجهها المستخدم

تظهر تفاصيل الخطأ تلقائيًا لمشرفي الموصل فقط. ويساعد هذا في منع يتم الإفصاح عن غير قصد عن معلومات حساسة، مثل مفتاح واجهة برمجة تطبيقات في حزمة لعرض رسائل الخطأ للمستخدمين غير المشرفين، يمكنك استخدام 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 (أخطاء عابرة، ومهلات)
  • لا تتوفّر بيانات عن الفترة الزمنية المطلوبة.
  • يتعذّر تحليل البيانات من واجهة برمجة التطبيقات أو تنسيقها.
  • تم إبطال الرموز المميّزة للتفويض.

التعامل مع الأخطاء القابلة للاسترداد

نقاط تنفيذ الموصل التي قد تخفق ولكن يجب استردادها التعامل معها. على سبيل المثال، إذا تعذّر تنفيذ طلبات البيانات من واجهة برمجة التطبيقات لسبب غير مميت (مثل اختزال حِمل الخادم)، فينبغي إعادة المحاولة قبل عرض خطأ.

التقاط الأخطاء ورميها

يجب اكتشاف الأخطاء التي لا يمكن إصلاحها وإعادة صياغتها. الخطأ المُعاد طرحه مساعدة المستخدمين في فهم سبب حدوث الخطأ. إذا كان من الممكن حلّ المشكلة فيجب توفير تفاصيل حول الإجراء التصحيحي.

راجِع طرح الأخطاء التي تواجه المستخدمين.

تسجيل الأخطاء في 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');
}