জাভাস্ক্রিপ্টে এক্সেপশন টাইপের প্রয়োগ

ধরুন আমাদের কাছে একটি ফাংশন আছে, যা একটি অ্যারের ডেটা সহ একটি JSON prameter হিসাবে গ্রহণ করে এবং এই অ্যারের প্রতিটি উপাদান স্থানীয় স্টোরেজে লিখে:

javascriptfunction saveData(json) {
  let arr = JSON.parse(json);
  
  for (let i = 0; i < arr.length; i++) {
    localStorage.setItem(i, arr[i]);
  }
}

এই ফাংশনে, ব্যতিক্রমমূলক পরিস্থিতি দুই জায়গায় দেখা দিতে পারে: JSON পার্স করার সময় এবং স্থানীয় স্টোরেজে ডেটা সংরক্ষণ করার চেষ্টা করার সময়।

ধরুন, ত্রুটি প্রক্রিয়াকরণ হিসাবে আমরা কিছু বার্তা প্রদর্শন করার সিদ্ধান্ত নিয়েছি সমস্যা সম্পর্কে:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  alert('কিছু সমস্যা');
}

আমাদের বার্তা, এটা অবশ্যই ভাল, কিন্তু এটি উদ্ভূত সমস্যাগুলিকে আলাদা করে না। আরও যৌক্তিক হবে কোন নির্দিষ্ট সমস্যাটি উদ্ভূত হয়েছে সে সম্পর্কে একটি বার্তা প্রদর্শন করা।

এটি করার জন্য, নাম দ্বারা উদ্ভূত ত্রুটিগুলি আলাদা করি:

javascripttry {
  saveData('{1,2,3,4,5}');
} catch (error) {
  if (error.name == 'QuotaExceededError') {
    alert('স্টোরেজে জায়গা শেষ হয়ে গেছে');
  }
  
  if (error.name == 'SyntaxError') {
    alert('ভুল JSON');
  }
}
Задание 1

আমার saveData ফাংশনের কোড কপি করুন, এবং তারপর আমার কোডে না দেখে বর্ণিত ত্রুটি প্রক্রিয়াকরণ বাস্তবায়ন করুন।

Задание 2

ইচ্ছাকৃতভাবে একে একে ব্যতিক্রমমূলক পরিস্থিতি তৈরি করুন যা ফাংশনে saveData দেখা দিতে পারে।