C++ ট্রাই-ক্যাচ-ফাইনালি

C Tra I Kyaca Pha Inali



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

উদাহরণ 1:

'iostream' এখানে অন্তর্ভুক্ত করা হয়েছে, হেডার ফাইল যেখানে বেশ কয়েকটি ফাংশন ঘোষণা করা হয়েছে। আমরা এই ফাংশনগুলি ব্যবহার করি যা আমাদের কোডে এই হেডার ফাইলে ঘোষণা করা হয়েছে, তাই আমরা এই হেডার ফাইলটি অন্তর্ভুক্ত করি। এর পরে, আমাদের কাছে 'std' রয়েছে যা এখানে 'cin' এবং 'cout' এর মতো ফাংশনগুলিকে সংজ্ঞায়িত করা হয়েছে। আমাদের এই সমস্ত ফাংশন সহ 'std' টাইপ করার দরকার নেই যদি আমরা আমাদের কোডের শুরুতে 'namespace std' যোগ করি। এর পরে, এখানে 'main()' ফাংশনটি চালু করা হয় যা C++ প্রোগ্রামের ড্রাইভার কোড হিসাবেও উল্লেখ করা হয়।

তারপর, আমরা এখানে 'ট্রাই' কীওয়ার্ডটি ব্যবহার করি যেখানে আমরা '35' মান দিয়ে 'my_num1' শুরু করি। এটি এখানে 'int' ডেটা টাইপ ভেরিয়েবল। এখন, আমরা এই ভেরিয়েবলটিকে 'if' এর ভিতরে রাখি এবং একটি শর্ত রাখি যেটি বলে যে 'my_num1' অবশ্যই '98' এর থেকে বড় বা সমান হতে হবে। প্রদত্ত শর্তটি সন্তুষ্ট হলে, এটি 'if' এর ভিতরে এগিয়ে যায় এবং এখানে লেখা বিবৃতিটি কার্যকর করে। আমরা 'cout' ব্যবহার করি এবং শর্তটি সন্তুষ্ট হলে প্রদর্শনের জন্য একটি বার্তা সন্নিবেশ করি।







এর পরে, আমরা 'অন্য' রাখার পরে 'থ্রো' কীওয়ার্ড ব্যবহার করি। এই 'থ্রো' কীওয়ার্ডে, আমরা প্যারামিটার হিসাবে 'my_num1' পাস করি। আমরা এর নিচে 'ক্যাচ' অংশ যোগ করি। আমরা 'catch()' এর প্যারামিটার হিসাবে 'my_num2' সন্নিবেশ করি এবং তারপর এই 'ক্যাচ' অংশের ভিতরে আবার 'cout' ব্যবহার করি। এই অংশটি শুধুমাত্র তখনই কার্যকর হয় যখন 'চেষ্টা' অংশে একটি ব্যতিক্রম ঘটে।



কোড 1:



# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
int প্রধান ( ) {
চেষ্টা করুন {
int my_num1 = 35 ;
যদি ( my_num1 >= 98 ) {
cout << 'অ্যাক্সেস এখানে দেওয়া হয়।' ;
} অন্য {
নিক্ষেপ ( my_num1 ) ;
}
}
ধরা ( int my_num2 ) {
cout << 'অ্যাক্সেস এখানে অস্বীকৃত।' << endl ;
cout << 'নম্বরটি হল:' << my_num2 ;
}
ফিরে 0 ;
}

আউটপুট:
আমরা যে সংখ্যাটি প্রবেশ করিয়েছি তা হল '35' যা '98' এর চেয়ে কম। সুতরাং, সেখানে ব্যতিক্রম ঘটে এবং 'catch()' অংশটি প্রদর্শিত হয়। 'চেষ্টা' অংশের অ্যাক্সেস অস্বীকার করা হয়েছে।





উদাহরণ 2:

আমরা এখানে 'iostream' হেডার ফাইল এবং 'namespace std' রাখি। এর পরে, আমরা একটি 'বিভাগ()' ফাংশন তৈরি করি যেখানে আমরা দুটি প্যারামিটার রাখি যা 'int' ডেটা টাইপের 'অংশ' এবং 'হর'। আমরা এই 'বিভাগ' ফাংশনের ডেটা টাইপ 'ডবল' এ সেট করি।



এর নীচে, আমরা 'if()' যোগ করি যেখানে আমরা শর্ত যোগ করি যে হরটি শূন্যের সমান। এর পরে, আমরা 'থ্রো' কীওয়ার্ড ব্যবহার করি এবং সেখানে একটি বার্তা টাইপ করি। শর্ত অনুযায়ী এই কোডে ব্যতিক্রম ঘটলেই এই বার্তাটি রেন্ডার করা হয়। এর নীচে, আমরা 'রিটার্ন' কীওয়ার্ডটি ব্যবহার করি যেখানে আমরা 'অঙ্ক/হর' রাখি। সুতরাং, এটি বিভাগের ফলাফল প্রদান করে। এখন, 'main()' ফাংশন বলা হয়।

এর পরে, 'num1' এবং 'num2' কে 'int' ভেরিয়েবল হিসাবে শুরু করা হয় এবং তাদের জন্য যথাক্রমে '89' এবং '0' বরাদ্দ করা হয়। তারপর, আমরা 'ডাবল' ডেটা টাইপের 'ফলাফল' শুরু করি। এখানে, আমরা 'ট্রাই' কীওয়ার্ড ব্যবহার করি। এই অংশে, আমরা এই 'ফলাফল' ভেরিয়েবল যোগ করি এবং এই ভেরিয়েবলে 'বিভাগ()' ফাংশন বরাদ্দ করি। আমরা এই ফাংশনে দুটি প্যারামিটার পাস করি: 'num1' এবং 'num2'। এর নীচে, আমরা 'বিভাগ()' ফাংশন প্রয়োগ করার পরে যে 'ফলাফল' পাই তা প্রদর্শন করি। এর পরে, আমরা 'ক্যাচ' ব্যবহার করি এবং পূর্বে যোগ করা বার্তাটি প্রদর্শন করতে 'const char* msg' রাখি।

কোড 2:

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
দ্বিগুণ বিভাগ ( int অংক, int হর ) {
যদি ( হর == 0 ) {
নিক্ষেপ 'এখানে শূন্য দিয়ে ভাগ করা সম্ভব নয়!' ;
}
ফিরে ( অংক / হর ) ;
}
int প্রধান ( ) {
int সংখ্যা1 = ৮৯ ;
int সংখ্যা2 = 0 ;
দ্বিগুণ ফলাফল = 0 ;
চেষ্টা করুন {
ফলাফল = বিভাগ ( num1, num2 ) ;
cout << ফলাফল << endl ;
} ধরা ( const চর * বার্তা ) {
সের << বার্তা << endl ;
}
ফিরে 0 ;
}

আউটপুট:
যে সংখ্যাটি আমরা পূর্বে হর হিসাবে সন্নিবেশিত করেছি তা হল '0'। সুতরাং, কোডে ব্যতিক্রম ঘটে এবং এটি প্রদত্ত বার্তাটি প্রদর্শন করে।

উদাহরণ 3:

এখানে “multiplication()” ফাংশন তৈরি করা হয়েছে যেখানে আমরা “int” ডাটা টাইপের প্যারামিটার হিসেবে “value” এবং “multiplier” রাখি। তারপর, আমরা 'if' ব্যবহার করি যেখানে আমরা একটি গুণক শর্ত যোগ করি যা শূন্যের সমান। তারপরে, যেখানে আমরা একটি বিবৃতি যোগ করি সেখানে 'থ্রো' স্থাপন করা হয়। তারপর, আমাদের 'রিটার্ন' আছে যেখানে আমরা 'মান * গুণক' ভেরিয়েবলগুলি রাখি যা আমরা পূর্বে ঘোষণা করেছি। সুতরাং, এটি এখানে গুণনের ফলাফল প্রদান করে।

এর পরে, আমরা 'main()' কে কল করি যেখানে আমরা যথাক্রমে '34' এবং '0' এর মান সহ 'int value1' এবং 'int value2' ঘোষণা করি। 'int m_res' ঘোষণা করা হয় এবং তারপরে এখানে 'গুণ()' ফাংশন বলা হয়। এই ফাংশনটি সম্পাদন করার পরে, ফলাফলটি এখন 'm_res' ভেরিয়েবলে সংরক্ষিত হয় এবং তারপর প্রদর্শিত হয়। পরবর্তীকালে, আমরা 'ক্যাচ' ফাংশন নিযুক্ত করি এবং 'নিক্ষেপ' অংশে পূর্বে যোগ করা বার্তাটি প্রদর্শন করতে 'const char* msg' সন্নিবেশ করি।

কোড 3:

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
দ্বিগুণ গুণ ( int মান, int গুণক ) {
যদি ( গুণক == 0 ) {
নিক্ষেপ 'আমরা শূন্য দিয়ে মানকে গুণ করি না!' ;
}
ফিরে ( মান * গুণক ) ;
}
int প্রধান ( ) {
int মান1 = 3. 4 ;
int মান2 = 0 ;
int m_res ;
চেষ্টা করুন {
m_res = গুণ ( মান1, মান 2 ) ;
cout << m_res << endl ;
} ধরা ( const চর * বার্তা ) {
সের << বার্তা << endl ;
}
ফিরে 0 ;
}

আউটপুট :
যেহেতু আমরা পূর্বে যে মানটি প্রবেশ করিয়েছিলাম তার গুণক হিসাবে '0' রয়েছে, কোডটির একটি ব্যতিক্রম রয়েছে যার কারণে এখানে বিজ্ঞপ্তিটি প্রদর্শিত হবে।

উদাহরণ 4:

এখানে, আমরা “multiply()” ফাংশন তৈরি করি এবং “int” ডাটা টাইপের প্যারামিটার হিসাবে “number1” এবং “number2”-এ পাস করি। এর পরে, আমরা 'if' অপারেটর ব্যবহার করি এটিতে একটি শর্ত যোগ করতে যা একটি গুণক যা শূন্যের চেয়ে কম বা সমান। এর পরে, বিবৃতিটি যোগ করা হয় যেখানে 'নিক্ষেপ' হওয়ার কথা। গুণনের ফলাফলটি 'রিটার্ন' বিভাগে ফেরত দেওয়া হয় যেখানে আমরা 'সংখ্যা 1 * নম্বর2' ভেরিয়েবলটি সন্নিবেশ করি যা আমরা পূর্বে ঘোষণা করেছি।

পরবর্তীকালে, আমরা “main()” ফাংশনটি চালু করি এবং যথাক্রমে “int newNumber1” এবং “int newNumber2”-এ “34” এবং “12” মান নির্ধারণ করি। এখানে, 'multiply()' ফাংশনটিকে 'int mResult' ঘোষণা করার পরে বলা হয়। এখন, এই ফাংশনের ফলাফল 'mResult' ভেরিয়েবলে সংরক্ষণ করা হয়েছে এবং নিম্নলিখিতটিতে রেন্ডার করা হয়েছে। তারপরে আমরা 'ক্যাচ' ফাংশনটি ব্যবহার করি এবং 'থ্রো' বিভাগে যে বার্তাটি লিখেছিলাম তা প্রদর্শন করতে 'কনস্ট চার* msg' যোগ করি।

কোড 4:

# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
দ্বিগুণ গুণ ( int 1 নম্বর , int ২ নম্বর ) {
যদি ( ২ নম্বর <= 0 ) {
নিক্ষেপ 'আমরা শূন্য বা ঋণাত্মক মান দিয়ে মানকে গুণ করি না!' ;
}
ফিরে ( 1 নম্বর * ২ নম্বর ) ;
}
int প্রধান ( ) {
int newNum1 = 3. 4 ;
int newNum2 = 12 ;
int mResult ;
চেষ্টা করুন {
mResult = গুণ ( newNum1, newNum2 ) ;
cout << 'গুনের ফলাফল হল' << mResult << endl ;
}
ধরা ( const চর * বার্তা ) {
সের << বার্তা << endl ;
}
ফিরে 0 ;
}

আউটপুট:
আমরা যে মানটি যোগ করি তা হল '12' যার উপর আমরা শর্ত যোগ করি। সুতরাং, 'গুণ()' ফাংশনটি সঞ্চালিত হয় যেহেতু শর্তটি সত্য নয়। গুণের ফলাফল প্রদর্শিত হয়। 'চেষ্টা' অংশ এখানে মৃত্যুদন্ড কার্যকর করা হয়.

উপসংহার

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