কিভাবে C++ এ ব্যতিক্রমগুলি সহজে পরিচালনা করবেন

Kibhabe C E Byatikramaguli Sahaje Paricalana Karabena



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

কিভাবে C++ এ ব্যতিক্রমগুলি সহজে পরিচালনা করবেন

C++-এ ব্যতিক্রম হ্যান্ডলিং বলতে রান-টাইম ত্রুটি সনাক্তকরণ এবং দক্ষতার সাথে সেগুলি পরিচালনা করার পদ্ধতিকে বোঝায়, যেমন অবৈধ ইনপুট পরিচালনা করা, বিভাগ অপারেশনে একটি সংখ্যাকে শূন্য দিয়ে ভাগ করা এবং আরও অনেক কিছু।

C++-এ ব্যতিক্রম হ্যান্ডলিং-এ তিনটি কীওয়ার্ড জড়িত: চেষ্টা, নিক্ষেপ এবং ধরা। ট্রাই স্টেটমেন্ট ব্যবহারকারীকে কোডের ব্লক সংজ্ঞায়িত করতে দেয় যা কোডে একটি ব্যতিক্রম বাড়াতে পারে। ট্রাই কীওয়ার্ডের অধীনে ব্লক চেক করার পরে সনাক্ত করা হলে থ্রো কীওয়ার্ডটি একটি ব্যতিক্রম থ্রো করে। ক্যাচ কীওয়ার্ডটিতে কোডের ব্লক রয়েছে যা চেষ্টা ব্লকে দেখা ব্যতিক্রমটি পরিচালনা করতে পারে।







উদাহরণ 1: বিভাগের সময় ব্যতিক্রম পরিচালনা

কোডটি বিভাজনের সময় ব্যতিক্রমগুলি পরীক্ষা করার জন্য লেখা হয়।



# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;

int প্রধান ( ) {

দ্বিগুণ লব, হর, ভাগ ;

cout << 'একটি সংখ্যার মান লিখুন: ' ;
খাওয়া >> অংক ;

cout <> হর ;

চেষ্টা করুন {


যদি ( হর == 0 )
নিক্ষেপ 0 ;


বিভাগ = অংক / হর ;
cout << অংক << '/' << হর << '=' << বিভাগ << endl ;
}

ধরা ( int num_exception ) {
cout << 'ত্রুটি! বিভাজক হতে পারে না  ' << num_exception << endl ;
}

ফিরে 0 ;
}

এই প্রোগ্রামে, ব্যবহারকারী main() বিভাগে ঘোষিত লব এবং হর এর মান ইনপুট করে। ট্রাই ব্লকে, একটি if স্টেটমেন্ট ব্যবহার করা হয় ব্যতিক্রম পরীক্ষা করার জন্য যেটি হল হর শূন্য কিনা। যেহেতু ডিভিশনটি শূন্য ভাজক দিয়ে সঞ্চালিত করা যায় না যদি হরটি 0 পাওয়া যায়, এটি একটি ব্যতিক্রম নিক্ষেপ করবে এবং ক্যাচ ব্লকটি একটি ত্রুটির যুক্তি প্রদান করবে অন্যথায় সাধারণ বিভাগ অপারেশনটি সঞ্চালিত হয়।







ব্যবহারকারী একটি অংক 42 এবং একটি 0 হরকে ইনপুট করে, যা একটি ব্যতিক্রম নিক্ষেপ করে, তাই প্রোগ্রামটি ত্রুটি যুক্তি প্রদান করে।



ব্যবহারকারী একটি অংক 42 এবং 2 একটি হর হিসাবে ইনপুট করে, কারণ কোন ব্যতিক্রম পাওয়া যায় নি, বিভাজনের পরে ফলাফল ফিরে আসে।

উদাহরণ 2 বয়স পরীক্ষা করার জন্য ব্যতিক্রম হ্যান্ডলিং

এই প্রোগ্রামটি ব্যবহারকারীর বয়সে ব্যতিক্রমগুলি পরীক্ষা করে।

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;

/*
এখানে, ব্যক্তির বয়স ১৮ বছরের কম হলে আমরা ব্যতিক্রম (ব্যতিক্রম হিসাবে বয়স) নিক্ষেপ করতে চাই।
*/

int প্রধান ( )
{
// ট্রাই ব্লকে বয়স ১৮ বছরের বেশি কিনা তা পরীক্ষা করা।
চেষ্টা করুন
{
int বয়স ;
cout << 'অ্যাক্সেস করার জন্য আপনার বয়স লিখুন:' ;
খাওয়া >> বয়স ;

যদি ( বয়স >= 18 )
{
cout << 'অ্যাক্সেস দেওয়া হয়েছে।' ;
}
// 18 বছরের কম বয়স হলে কাস্টম ব্যতিক্রম নিক্ষেপ করা হচ্ছে।
অন্য
{
নিক্ষেপ ( বয়স ) ;
}
}
// নিক্ষিপ্ত ব্যতিক্রমটি ধরা এবং পছন্দসই আউটপুট প্রদর্শন করা (অ্যাক্সেস অস্বীকার করা হয়েছে!)
ধরা ( int এক্স )
{
cout << 'অ্যাক্সেস অস্বীকৃত! আপনি কম বয়সী।' << endl ;
}
ফিরে 0 ;
}

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

অ্যাক্সেস অনুদান পরীক্ষা করার জন্য ব্যবহারকারী 12 বছর বয়স ইনপুট করে, যেহেতু এই বয়স 18 বছরের কম, তাই অ্যাক্সেস অস্বীকার করা যুক্তিটি ফেরত দেওয়া হয়।

ব্যবহারকারী 20 বছর বয়স ইনপুট করে, যেহেতু এটি 18 এর উপরে, তাই ব্যবহারকারীকে অ্যাক্সেস দেওয়া হয়।

বিঃদ্রঃ : যদি প্রোগ্রামে কোনো ক্যাচ ব্লক না থাকে, তাহলে প্রোগ্রামটি অস্বাভাবিক আচরণ করবে এবং ব্যতিক্রমের ক্ষেত্রে অপ্রত্যাশিতভাবে বন্ধ হয়ে যাবে।

উপসংহার

C++ এ ব্যতিক্রম হ্যান্ডলিং বলতে বোঝায় রান-টাইম ত্রুটি সনাক্তকরণ এবং দক্ষতার সাথে পরিচালনা করার পদ্ধতি। এটি তিনটি কীওয়ার্ড ট্রাই, থ্রো এবং ক্যাচ জড়িত। ব্যতিক্রমটি ট্রাই ব্লকের কোডের জন্য চেক করা হয়েছে, থ্রো কীওয়ার্ডটি পাওয়া গেলে ব্যতিক্রমটি নিক্ষেপ করে এবং ক্যাচ ব্লকটি চেষ্টা ব্লকের জন্য নিক্ষেপ করা ব্যতিক্রমটি পরিচালনা করে। ব্যতিক্রমগুলি পরিচালনা করা রান-টাইম ত্রুটিগুলি এড়িয়ে ব্যবহারকারীর অভিজ্ঞতাকে মসৃণ এবং দুর্দান্ত করে তোলে।