জাভাস্ক্রিপ্টে সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি | ব্যাখ্যা করেছেন

Jabhaskripte Sarbocca Kala Styakera Akara Atikrama Kara Truti Byakhya Karechena



রিকার্সিভ ফাংশন হল ফাংশন যা অন্য পদ্ধতির মধ্যে একটি মেথডকে কল করে। যাইহোক, অসীম পুনরাবৃত্তি একটি স্ট্যাক আকার ত্রুটি কারণ. অনেক অনুরোধের মুলতুবি থাকার কারণে স্ট্যাকের আকারের ত্রুটি ঘটে। ফাংশন নিজেই কল করার সময় এই সমস্যা দেখা দেয়। এটি বিবেচনা করে, এই নিবন্ধটি ব্যাখ্যা করে যে সর্বোচ্চ কল স্ট্যাকের আকার জাভাস্ক্রিপ্টের ত্রুটিকে ছাড়িয়ে গেছে। তাছাড়া ত্রুটি নিরসনে সমাধানও দেওয়া হয়।

নিবন্ধটি নিম্নরূপ আমাদের পরিবেশন করে:







  • জাভাস্ক্রিপ্টে সর্বাধিক কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি৷
  • সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি সমাধান করতে যদি শর্ত ব্যবহার করে
  • সর্বাধিক কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি সমাধান করতে লুপের জন্য ব্যবহার করা হচ্ছে৷

জাভাস্ক্রিপ্টে সর্বাধিক কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি৷

যখন ব্যবহারকারী পুনরাবৃত্ত ফাংশন কল করে তখন স্ট্যাকের আকার অতিক্রম করা ত্রুটি ঘটে। একটি পদ্ধতি বারবার আহ্বান করার কারণে এই ধরনের ত্রুটি ঘটে। দ্য মজার_ব্যবহারকারী() ফাংশনের ভিতরে একটি পুনরাবৃত্ত কল হিসাবে ব্যবহার করা হয় মজার_ব্যবহারকারী() কনসোল উইন্ডোতে একটি ত্রুটি তৈরি করতে জাভাস্ক্রিপ্টে।



কোড



console.log ( 'সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করেছে' ) ;
মজার_ব্যবহারকারী ( ) ;
ফাংশন মজার_ব্যবহারকারী ( )
{
মজার_ব্যবহারকারী ( ) ;
}





এই কোডে, 'সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি' একটি পদ্ধতি কল দ্বারা উত্পন্ন হয় 'মজা_ব্যবহারকারী()' ফাংশনের ভিতরে।



কোড হিসাবে ত্রুটি প্রদর্শন করে 'রেঞ্জের ত্রুটি: সর্বাধিক কল স্ট্যাকের আকার অতিক্রম করেছে।'

এই ত্রুটি সমাধান করার অনেক উপায় আছে, যেমন লুপের জন্য এবং শর্তসাপেক্ষ বিবৃতি , যা ফাংশন কল সীমিত করতে ব্যবহার করা যেতে পারে।

সমাধান 1: সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি সমাধান করতে যদি শর্ত ব্যবহার করে

ত্রুটি সমাধানের জন্য, জাভাস্ক্রিপ্টে স্ট্যাকের আকার সীমাবদ্ধ করতে if শর্ত প্রয়োগ করা হয়। উদাহরণস্বরূপ, কোডটি নীচে দেওয়া হল।

কোড

ছিল i = 1 ;
মজার_ব্যবহারকারী ( i ) ;
ফাংশন মজার_ব্যবহারকারী ( i ) {
যদি ( i < = 10 )
{
console.log ( 'জাভাস্ক্রিপ্টে স্বাগতম' ) ;
i =i+ 1 ;
মজার_ব্যবহারকারী ( i ) ;
} }

কোডের বর্ণনা নিম্নরূপ:

  • প্রথমত, একটি পরিবর্তনশীল 'আমি' মান 1 দিয়ে আরম্ভ করা হয়।
  • তারপর, মজার_ব্যবহারকারী() ভেরিয়েবল পাস করে পদ্ধতি ব্যবহার করা হয় 'আমি'।
  • এই ফাংশনে, যদি শর্ত প্রয়োগ করা হয় যা পুনরাবৃত্তিকে সীমাবদ্ধ করে 10 .
  • অবশেষে, বার্তা 'জাভাস্ক্রিপ্টে স্বাগতম' ব্যবহার করে প্রদর্শিত হয় 'console.log()' পদ্ধতি

আউটপুট

সমাধান 2: সর্বাধিক কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি সমাধানের জন্য লুপ ব্যবহার করা

ত্রুটিটি সমাধান করতে, জাভাস্ক্রিপ্টের পুনরাবৃত্তিগুলি সীমিত করতে একটি লুপ ব্যবহার করা হয়। উদাহরণস্বরূপ, কোডটি নীচে দেওয়া হল।

কোড

দিন আউটপুট = 0 ;
জন্য ( দিন i = 5 ; i > 0 ; আমি-- )
{
আউটপুট += যোগ করুন ( 1 , 1 ) ;
}
ফাংশন যোগ করুন ( ক, খ ) {
ফিরে a + b;
}
console.log ( আউটপুট ) ;

এই কোডে:

  • পরিবর্তনশীল 'আউটপুট' 0 এর মান দিয়ে শুরু করা হয়।
  • এর পরে, পাঁচটি পুনরাবৃত্তি করার জন্য একটি লুপ ব্যবহার করা হয়। এই লুপে, যোগ করুন() মান 1 পাস করে পদ্ধতি বলা হয়।
  • পদ্ধতি যোগ করুন() দুটি ভেরিয়েবলের যোগ ফেরত দেয় এবং .
  • শেষ পর্যন্ত, লগ() কনসোল উইন্ডোতে আউটপুট প্রদর্শন করার জন্য পদ্ধতি ব্যবহার করা হয়।

আউটপুট

আউটপুট ফিরে আসে '10' জাভাস্ক্রিপ্টে সর্বাধিক কল স্ট্যাকের আকারের ত্রুটি সমাধান করে।

উপসংহার

পুনরাবৃত্ত ফাংশন অসীম কলিং হিসাবে ঘটে 'সর্বোচ্চ কল স্ট্যাকের আকার অতিক্রম করা ত্রুটি' জাভাস্ক্রিপ্টে। এই নিবন্ধটি এই ধরনের ত্রুটি সৃষ্টির কারণ ব্যাখ্যা করে। পরে, দুটি সমাধান সহ 'লুপের জন্য' এবং 'শর্তসাপেক্ষ বিবৃতি' ত্রুটি সমাধানের জন্য ব্যবহার করা হয়। অতএব, কলিং ফাংশন এই সমাধান নিয়োগ দ্বারা সীমাবদ্ধ করা হয়.