ব্যবহারকারীর অভিজ্ঞতা ভালো করার জন্য আপনার কোডে ত্রুটিগুলি সঠিকভাবে পরিচালনা করা উচিত। ব্যবহারকারীদের সমস্যা সমাধানের জন্য সংশোধনমূলক পদক্ষেপগুলি রূপরেখা করে এমন কার্যকর ত্রুটি বার্তাগুলি উপস্থাপন করুন।
এই নথিতে সংযোগকারীর সাথে কী কী ত্রুটি ঘটতে পারে, ত্রুটি বার্তা কীভাবে কাজ করে এবং সংযোগকারীর ত্রুটিগুলি কীভাবে সঠিকভাবে পরিচালনা করতে হয় তা বর্ণনা করা হয়েছে।
তথ্য: জাভাস্ক্রিপ্টে ব্যতিক্রমগুলি পরিচালনা করার বিষয়ে আরও জানতে try...catch স্টেটমেন্ট দেখুন।
ত্রুটির প্রকারভেদ
আপনার সংযোগকারী ব্যবহার করার সময় একজন ব্যবহারকারী যে ধরণের এবং যে ত্রুটির সম্মুখীন হতে পারেন তা সাধারণত নিম্নলিখিত তিনটি বিভাগের মধ্যে পড়ে:
সংযোগকারীর অভ্যন্তরীণ এবং বাহ্যিক ত্রুটিগুলি সংযোগকারী বিকাশকারীর দ্বারা পরিচালনা করা উচিত। এই ত্রুটিগুলি বিকাশকারী-লেখক কোডের কারণে ঘটে।
সংযোগকারীর অভ্যন্তরীণ ত্রুটি
সংযোগকারীর অভ্যন্তরীণ ত্রুটিগুলি সংযোগকারী কার্যকর করার সময় ঘটে। উদাহরণস্বরূপ, যদি কোনও সংযোগকারী getData() কার্যকর করার সময় একটি API প্রতিক্রিয়া বিশ্লেষণ করতে না পারে। এই ত্রুটিগুলি পূর্বাভাস দেওয়া উচিত এবং প্রযোজ্য ক্ষেত্রে ব্যবহারকারী-বান্ধব ব্যাখ্যা দিয়ে পরিচালনা করা উচিত।
সংযোগকারীর অভ্যন্তরীণ ত্রুটিগুলি পরিচালনা করার বিষয়ে আরও তথ্যের জন্য, সংযোগকারী ত্রুটিগুলি পরিচালনা করার জন্য সেরা অনুশীলনগুলি দেখুন।
সংযোগকারীর বাহ্যিক ত্রুটি
সংযোগকারীর এক্সিকিউশনের পরে সংযোগকারীর বাহ্যিক ত্রুটি দেখা দেয়। উদাহরণস্বরূপ, যখন তিনটি ক্ষেত্রের জন্য একটি getData() অনুরোধ শুধুমাত্র দুটি ক্ষেত্রের জন্য ডেটা ফেরত দেয়। যদিও সংযোগকারীটি এক্সিকিউশন সম্পন্ন করেছে, তবুও এটি লুকার স্টুডিওর অনুরোধ পূরণ করতে পারেনি। পুঙ্খানুপুঙ্খ পরীক্ষা এই ত্রুটিগুলি প্রতিরোধ করতে পারে।
সংযোগকারীর বাহ্যিক ত্রুটিগুলি সাধারণত ত্রুটির বিবরণ (যদি পাওয়া যায়) পর্যালোচনা করে এবং সমস্যাটি সনাক্ত করার জন্য কোড ডিবাগ করে ঠিক করা যেতে পারে। আপনার সংযোগকারী ডিবাগ করার বিষয়ে আরও তথ্যের জন্য, আপনার কোড ডিবাগ করুন দেখুন।
লুকার স্টুডিও ত্রুটি
লুকার স্টুডিও ত্রুটিগুলি হল আপনার সংযোগকারী কোডের সাথে সম্পর্কিত নয় এমন ত্রুটি। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী কোনও তারিখ/সময়ের মাত্রা ছাড়াই ডেটা উৎস সহ একটি টাইম সিরিজ চার্ট ব্যবহার করার চেষ্টা করে।
যদি ত্রুটিটি সরাসরি সংযোগকারীর সাথে সম্পর্কিত না হয়, তাহলে সংযোগকারী বিকাশকারীর কোনও পদক্ষেপ নেওয়ার প্রয়োজন নেই। ব্যবহারকারীরা [লুকার স্টুডিও সহায়তা কেন্দ্র]-এ গিয়ে অতিরিক্ত সহায়তা পেতে পারেন।
ত্রুটি বার্তা দেখানো হচ্ছে
অ্যাডমিন স্ট্যাটাসের উপর ভিত্তি করে ত্রুটির বিবরণ দেখানো হচ্ছে
যখন কোনও সংযোগকারী কোনও ত্রুটি প্রদর্শন করে, তখন ব্যবহারকারীর অ্যাডমিন স্ট্যাটাসের উপর নির্ভর করে লুকার স্টুডিও ত্রুটি বার্তাটি প্রদর্শন করে।
- যদি ব্যবহারকারী একজন অ্যাডমিন ব্যবহারকারী হন তবে তিনি সমস্ত বিবরণ দেখতে পাবেন। এর মধ্যে রয়েছে ত্রুটি বার্তা, ত্রুটির ধরণ এবং স্ট্যাক ট্রেস।
- যদি ব্যবহারকারী অ্যাডমিন ব্যবহারকারী না হন, তাহলে তারা কেবল তখনই বিস্তারিত দেখতে পাবেন যদি ত্রুটিতে ব্যবহারকারী-বান্ধব বার্তা থাকে। অ্যাডমিন-বহির্ভূত ব্যবহারকারীদের ত্রুটি বার্তা দেখানো সম্পর্কে আরও জানতে "Throwning user facing errors" দেখুন।
ব্যবহারকারীর সমস্যা দেখা দিচ্ছে
ডিফল্টরূপে, শুধুমাত্র সংযোগকারী প্রশাসকরা ত্রুটির বিবরণ দেখতে পান। এটি স্ট্যাক ট্রেসে থাকা API কী-এর মতো সংবেদনশীল তথ্যের অসাবধানতাবশত প্রকাশ রোধ করতে সাহায্য করে। অ্যাডমিন নয় এমন ব্যবহারকারীদের ত্রুটির বার্তা দেখানোর জন্য, Looker Studio Apps Script পরিষেবা থেকে newUserError() ব্যবহার করুন।
উদাহরণ:
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 অনুরোধ কোনও অ-মারাত্মক কারণে ব্যর্থ হয় (যেমন সার্ভার লোড শেডিং), তাহলে ত্রুটি দেওয়ার আগে পুনরায় চেষ্টা করা উচিত।
ভুল ধরা এবং নিক্ষেপ করা
পুনরুদ্ধারযোগ্য নয় এমন ত্রুটিগুলি ধরা উচিত এবং পুনরায় নিক্ষেপ করা উচিত। পুনরায় নিক্ষেপ করা ত্রুটি ব্যবহারকারীদের বুঝতে সাহায্য করবে কেন ত্রুটিটি ঘটেছে। যদি সমস্যাটি সমাধান করা সম্ভব হয় তবে সংশোধনমূলক পদক্ষেপের বিশদ সরবরাহ করা উচিত।
ব্যবহারকারীর মুখোমুখি ত্রুটিগুলি দেখুন।
স্ট্যাকড্রাইভারে ত্রুটি লগ করুন
ত্রুটি এবং অন্যান্য বার্তা লগ করার জন্য স্ট্যাকড্রাইভার ব্যবহার করুন। এটি ত্রুটিগুলি বুঝতে, সমস্যাগুলি ডিবাগ করতে এবং পরিচালনা না করা ব্যতিক্রমগুলি আবিষ্কার করতে সহায়তা করে।
স্ট্যাকড্রাইভার ত্রুটি প্রতিবেদন সম্পর্কে আরও জানতে, স্ক্রিপ্টের জন্য ব্যতিক্রম লগিং কীভাবে সক্ষম করবেন এবং ডিবাগিংয়ের জন্য ব্যবহারকারীদের কীভাবে নিরাপদে সনাক্ত করবেন তা জানতে স্ট্যাকড্রাইভার লগিং ব্যবহার করা দেখুন।
বন্ধ করা হয়েছে: নিরাপদ ত্রুটি বার্তার জন্য DS_USER: উপসর্গ ব্যবহার করুন
অ্যাডমিন-বহির্ভূত ব্যবহারকারীদের জন্য ব্যবহারকারী-বান্ধব ত্রুটি বার্তা প্রদানের জন্য ত্রুটি বার্তা সহ DS_USER: উপসর্গ অন্তর্ভুক্ত করুন। এই উপসর্গটি অ্যাডমিন-বহির্ভূত ব্যবহারকারীদের জন্য নিরাপদ বার্তা সনাক্ত করতে ব্যবহৃত হয় এবং প্রকৃত ত্রুটি বার্তায় অন্তর্ভুক্ত নয়।
নিম্নলিখিত উদাহরণগুলিতে এমন একটি ঘটনা অন্তর্ভুক্ত রয়েছে যেখানে একটি ত্রুটি বার্তা অ্যাডমিন-বহির্ভূত ব্যবহারকারীদের দেখানো হবে, অন্যটি যেখানে একটি ত্রুটি বার্তা শুধুমাত্র অ্যাডমিন ব্যবহারকারীদের দেখানো হবে: