সি ++ এ ব্যতিক্রম হ্যান্ডলিং কীভাবে কার্যকর করা যায়?



এই নিবন্ধটি আপনাকে বুঝতে সাহায্য করবে যে ব্যতিক্রম হ্যান্ডলিং কী এবং কীভাবে ব্যবহারিক বিক্ষোভের মাধ্যমে সি ++ এ ব্যতিক্রম পরিচালনা পরিচালনা করতে হয় implement

ব্যতিক্রম রান সময় বা সংকলনের সময় অস্বাভাবিক পরিস্থিতি। সি ++ এ একটি অতি প্রয়োজনীয় ধারণা। এই নিবন্ধটি আপনাকে বিভিন্ন ধরণের পাশাপাশি C ++ এ ব্যতিক্রম হ্যান্ডলিংয়ের সাথে পরিচয় করিয়ে দেবে।

নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে কভার করা হবে,





সুতরাং আমাদের এখন শুরু করা যাক,

সি ++ এ ব্যতিক্রম হ্যান্ডলিং

ব্যতিক্রম ধরণের

দুটি ধরণের ব্যতিক্রম রয়েছে,



রান সময় ব্যতিক্রম

রান সময় চলাকালীন এটি ব্যতিক্রম।

সংকলন-সময় ব্যতিক্রম



এটি সংকলনের সময় ধরা পড়া একটি ব্যতিক্রম।

সি ++ তে এই ব্যতিক্রম হ্যান্ডলিং নিবন্ধটি নিয়ে চলছে,

জাভা ক্লাসপাথ উইন্ডোজ 10 সেট করুন

ব্যতিক্রম হ্যান্ডলিং কি?

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

আপনি যখন ব্যতিক্রম হ্যান্ডলিং বিবেচনা করেন, তখন এর সাথে তিনটি শর্ত যুক্ত হয়,

চেষ্টা করুন

এই ব্লকের অভ্যন্তর কোডটি একটি ট্রায়াল কোডের মতো, যা ব্যতিক্রম হতে পারে। এই ব্যতিক্রম ধরা ব্লকের ভিতরে ধরা পড়ে।

ধরা

এই ব্লকের কোড কার্যকর করা হয় যখন চেষ্টা ব্লকগুলিতে কোড ব্যতিক্রম ছুঁড়ে দেয়।

নিক্ষেপ

এই কীওয়ার্ডটির মুখোমুখি হওয়ার সময় একটি ব্যতিক্রম ছোঁড়াতে ব্যবহৃত হয়। ব্যতিক্রম ব্যতিক্রম হ্যান্ডলারের কাছে প্রেরণ করা হয়।

বাক্য গঠন:

চেষ্টা ব্লকের ভিতরে কোডটি কার্যকর করা হয়। যদি কোনও ত্রুটি উত্পন্ন হয়, তবে কীওয়ার্ড থ্রো ব্যতিক্রম হ্যান্ডলারের ব্যতিক্রম, অর্থাৎ ক্যাচ ব্লকটি ছুড়ে ফেলে। তারপরে ক্যাচ ব্লক কোডটি কার্যকর করে, যা এর ব্লকের অভ্যন্তরে থাকে, এইভাবে ব্যতিক্রম পরিচালনা করে।

আসুন আমরা সি ++ এ ব্যতিক্রম হ্যান্ডলিংয়ের জন্য নমুনা কোডটি একবার দেখে নিই

কোডের উদাহরণ

# চেষ্টা করার জন্য নেমস্পেস স্টাড ট্রাই {// কোড ব্যবহার করে অন্তর্ভুক্ত করুন & ldquoexception & rdquo} ক্যাচ (ব্যতিক্রম) {// ক্যাচের জন্য কোড} ইন্ট মেইন () {ইনট এক্স = 1 ট্রাই-কোট<< 'Try Block: '<

আউটপুট:

আউটপুট - সি ++ এ ব্যতিক্রম হ্যান্ডলিং - এডুরেকা

ব্যাখ্যা

এই প্রোগ্রাম ব্যতিক্রম পরিচালনা পরিচালনা করে। আমাদের একটি ভেরিয়েবল এক্স রয়েছে, যার মান 1 প্রদান করা হয়েছে। তারপরে আমাদের চেষ্টা ব্লকটি শুরু হবে। এই ব্লকে, এক্স শর্ত সহ আমাদের একটি if স্টেটমেন্ট রয়েছে<10.

আমাদের ক্ষেত্রে, এক্সটি এক হিসাবে শর্তটি সত্য। প্রোগ্রামটি তখন একটি ব্যতিক্রম ছুঁড়ে ফেলে এবং কন্ট্রোলকে ব্লক ধরতে শিফট করে। আমরা কন্ডিশনটি ক্যাচ অংশে চালিত করি এবং ব্লক থেকে প্রস্থান করি।

ধরা (...) {খরচ<< 'Default Exceptionn'<

শেষ, আমরা ক্যাচ ব্লক এবং প্রস্থান প্রোগ্রামের পরে অবশিষ্ট বিবৃতিগুলি কার্যকর করি।

একাধিক ধরা বিবৃতি থাকতে পারে, সম্ভাব্য ব্যতিক্রম সংখ্যার উপর নির্ভর করে।

সি ++ তে এই ব্যতিক্রম হ্যান্ডলিং নিবন্ধটি নিয়ে চলছে,

ক্যাচ ব্লক ব্যর্থতা

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

পিএইচপি তে প্রতিধ্বনি কি?

আমরা আমাদের জিতে ত্রুটি বার্তা এই ক্ষেত্রে প্রদর্শিত হতে পারে।

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

# নেমস্পেস স্টাড ইন্ট মেইন () {ইন্ট এক্স = 1 ট্রাই {সিউট ব্যবহার করে অন্তর্ভুক্ত করুন<< 'Try Block: '<

আউটপুট:

ব্যাখ্যা:

এই কোডটি আগেরটির মতো। একমাত্র পরিবর্তনটি হ'ল ব্যতিক্রমটি টাইপের চরের। এটির ফলে আমাদের ক্যাচ ফাংশনটি অকেজো হয়ে যায়। সুতরাং আমরা একটি ডিফল্ট ক্যাচ ফাংশন অন্তর্ভুক্ত করেছি।

যদি কোনও ক্যাচ স্টেটমেন্ট মিলে না যায় তবে ডিফল্ট ক্যাচটি কার্যকর করা হয় uted

কিভাবে সি লিঙ্ক তালিকা তৈরি করতে

একাধিক ক্যাচ ব্লক

একক চেষ্টা ব্লকের একাধিক ক্যাচ ব্লক থাকতে পারে।

এখানে একটি উদাহরণ,

# নেমস্পেসের এসটিডি ইন্ট টেস্ট (ইন এ) ব্যবহার করে দেখুন {চেষ্টা করুন {যদি (ক।)<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

আউটপুট:

ব্যাখ্যা:

উপরের কোডে আমরা একাধিক ক্যাচ স্টেটমেন্ট ব্যবহার করি। আমাদের একটি ফাংশন পরীক্ষা রয়েছে যা একটি ব্যতিক্রম উত্পন্ন করে। প্রথম পরীক্ষার ক্ষেত্রে, মানটি 10 ​​হয়, যেহেতু 10 শূন্যের চেয়ে বড়, ‘একটি’ চরিত্রটি নিক্ষেপ করা হয় এবং এটি দ্বিতীয় ক্যাচ ফাংশন দ্বারা ধরা পড়ে।

দ্বিতীয় ক্ষেত্রে, মান 0 এর চেয়ে কম হয় তাই মান -1 নিক্ষেপ করা হয় এবং এটি পূর্ণসংখ্যা ব্যতিক্রম দ্বারা ধরা পড়ে

বেস এবং উত্পন্ন শ্রেণিতে ব্যতিক্রম হ্যান্ডলিং:

যদি বেস এবং উদ্ভূত শ্রেণীর ব্যতিক্রম ধরা পড়ে তবে ডাইরেক্ট শ্রেণীর ক্যাচ অবশ্যই বেস শ্রেণীর আগে কার্যকর করা উচিত uted

এখানে কিছু ব্যতিক্রম রয়েছে:

  • std :: ব্যতিক্রম

  • যুক্তি_অরর

  • রানটাইম_অরর

  • খারাপ_প্রিয়

  • খারাপ_কাস্ট

  • খারাপ_আপনি

এটির সাথে আমরা ‘সি ++ ব্যতীত হ্যান্ডলিংয়ে’ এই ব্লগের শেষে এসেছি। আমি আশা করি আপনি এই তথ্যবহুল এবং সহায়ক খুঁজে পেয়েছেন, অনুরূপ বিষয়ে আরও টিউটোরিয়াল জন্য যোগাযোগ করুন। আপনি আমাদের প্রশিক্ষণ প্রোগ্রাম পরীক্ষা করতে পারেনo jQuery এর বিভিন্ন অ্যাপ্লিকেশন সহ গভীরতর জ্ঞান পান, আপনি পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ লাইভ অনলাইন প্রশিক্ষণের জন্য।

আমাদের জন্য একটি প্রশ্ন আছে? এই ব্লগের মন্তব্য বিভাগে তাদের উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।