Cerr C++ উদাহরণ

Cerr C Udaharana



যখন আমাদের C++ প্রোগ্রামিং নিয়ে কাজ করতে হয়, তখন আমাদের বিভিন্ন পরিস্থিতি হতে পারে যখন আমাদের ত্রুটির সম্মুখীন হতে হয়। সুতরাং, সেই ত্রুটিটি প্রদর্শন করার জন্য, আমরা C++ এ 'cerr' কীওয়ার্ড ব্যবহার করি। আমরা বলতে পারি যে আমরা C++ এ ত্রুটি বার্তা প্রিন্ট করতে 'cerr' অবজেক্ট ব্যবহার করি। 'iostream' হেডার ফাইলটিতে এই বস্তুর ঘোষণা রয়েছে। আমরা কনসোলে যে ত্রুটি বা বিশদ প্রবেশ করেছি তা প্রদর্শন করতে এটি “<<” সন্নিবেশ চিহ্নগুলির সাথে ব্যবহার করা হয়। আমরা এই গাইডে এই 'cerr' অবজেক্টটি পুঙ্খানুপুঙ্খভাবে শিখব।

উদাহরণ 1:

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

তারপর, এখানে 'main()' বলা হয়েছে। এর নীচে, আমরা 'cerr' অবজেক্টটি ব্যবহার করি এবং যে ত্রুটি বার্তাটি আমরা কনসোলে প্রদর্শন করতে চাই সেটি রাখি। আমরা টাইপ করি 'এখানে একটি ত্রুটি ঘটেছে!' সন্নিবেশ চিহ্ন স্থাপন করার পর এই 'cerr'-এ বার্তা দিন। যখন আমরা এই প্রোগ্রামটি চালাই, প্রদত্ত বার্তাটি 'cout' ব্যবহার না করেই প্রদর্শিত হয়।







কোড 1:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

সের << 'এখানে একটি ত্রুটি ঘটেছে!' << endl ;

ফিরে 0 ;

}

আউটপুট:



'cerr <<' রাখার পরে আমরা যে বার্তাটি টাইপ করি তা এখন এই ফলাফলে প্রদর্শিত হয় যা নিম্নলিখিতটিতে প্রদর্শিত হয়:







উদাহরণ 2:

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

কোড 2:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

চর error_str [ ] = 'আমরা এখানে স্ট্রিং পড়তে পারি না!' ;

সের << 'ত্রুটি ঘটেছে : ' << error_str << endl ;

}

আউটপুট:



'cerr <<' টাইপ করার পরে আমরা যে টেক্সটটি টাইপ করি সেটি এখন ফলাফলে দৃশ্যমান এবং সেইসাথে আমরা 'error_str' এ যোগ করা বার্তাটিও দৃশ্যমান। ফলাফল এছাড়াও নিম্নলিখিত দেখানো হয়:

উদাহরণ 3:

হেডার ফাইলটি অন্তর্ভুক্ত করার পরে এবং তারপরে 'std' নামস্থান স্থাপন করার পরে, আমরা 'main()' পদ্ধতিকে কল করি। এর পরে, 'NumOfLine' পূর্ণসংখ্যা ভেরিয়েবলটি এখানে ঘোষণা করা হয়েছে এবং '__LINE__' দিয়ে শুরু করা হয়েছে। এই '__LINE__' ত্রুটি বার্তা তৈরি করে। এর নীচে, আমরা 'cerr' অবজেক্টটি ব্যবহার করি এবং ত্রুটি বার্তাটি রাখি যা আমরা ব্যবহারকারীর কাছে প্রদর্শন করতে চাই। আমরা 'NumOfLine' ভেরিয়েবলও রাখি যা কোডে যে লাইন নম্বরে ত্রুটি দেখা দেয় তা দেখায়।

কোড 3:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

int NumOfLine = __LINE__ ;

সের << 'এখানে লাইনে ত্রুটি ঘটেছে:' << NumOfLine ;

ফিরে 0 ;

}

আউটপুট:

এখানে, এটি দেখায় যে কোডের চতুর্থ লাইনে আমরা '__LINE__' যোগ করার সাথে সাথে '4' লাইনে ত্রুটি ঘটে। এই বার্তাটি এখানে C++ এ 'cerr' অবজেক্টের সাহায্যে প্রদর্শিত হয়েছে।

উদাহরণ 4:

আমরা আরও একটি হেডার ফাইল, 'fstream' অন্তর্ভুক্ত করি। এই 'fstream' হেডার ফাইলটি C++ এ একটি ফাইল পড়তে, লিখতে বা তৈরি করতে ব্যবহার করা হয় কারণ এটি 'ofstream' এবং 'ifstream' এর সংমিশ্রণ। এখন, 'std namespace' যোগ করার পর এবং 'main()' চালু করার পর, আমরা 'new_file' ভেরিয়েবলের সাথে 'fstream' ব্যবহার করি।

তারপর, আমরা এখানে “new_file” এর সাথে “open()” ফাংশন ব্যবহার করি এবং ফাইলের নাম প্যারামিটার হিসাবে পাস করি। ফাইলটির নাম হল 'myTextFile.txt' যা আমরা খুলতে চাই। এর নীচে, আমরা 'new_file' ভেরিয়েবল পাস করতে 'if' ব্যবহার করি। এখন, যদি ফাইলটি এখানে খোলে, 'if' এর পরে বিবৃতি রেন্ডার করা হয়। অন্যথায়, 'else' এর পরে বিবৃতিটি রেন্ডার করা হয় যেখানে আমরা একটি ত্রুটি বার্তা দেখানোর জন্য 'cerr' অবজেক্ট যোগ করি।

কোড 4:

# অন্তর্ভুক্ত করুন

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

fstream new_file ;

নতুন নথি. খোলা ( 'myTextFile.txt' ) ;

যদি ( নতুন নথি ) {

cout << 'ফাইলটি এখানে সফলভাবে খোলা হয়েছে!' ;

}

অন্য {

সের << 'এখানে ফাইল খোলার সময় এখানে ত্রুটি ঘটেছে!' ;

}

ফিরে 0 ;

}

আউটপুট:

আমরা পূর্বে দেওয়া ফাইলটি খুলতে পারি না। এখানে, এটি ত্রুটি বার্তা প্রদর্শন করে যা আমরা 'cerr' অবজেক্টের পরে সন্নিবেশ করেছি।

উদাহরণ 5:

এখানে, আমরা অন্য ফাইল খুলতে চাই। সুতরাং, আমরা হেডার ফাইল এবং 'std' নামস্থান উভয়ই যোগ করি। এখন, আমরা 'main()' কল করি এবং তারপর 't_file' ভেরিয়েবলের সাথে 'fstream' ব্যবহার করি। এর পরে, আমরা এই উদাহরণে 'new_file' এর সাথে 'open()' ফাংশনটি ব্যবহার করি এবং একটি আর্গুমেন্ট হিসাবে ফাইলের নাম সরবরাহ করি। আমরা যে ফাইলটি খুলতে চাই তাকে 'New.txt' বলা হয়। আমরা 't_file' ভেরিয়েবল পাস করে 'if' স্টেটমেন্ট ব্যবহার করি। এখন, যদি ফাইলটি খোলে, 'if' অনুসরণ করা লাইনটি রেন্ডার করা হয়। যদি তা না হয়, যে বিবৃতিটি 'অন্য' অনুসরণ করে, যেখানে আমরা একটি ত্রুটি বার্তা প্রদর্শন করতে 'cerr' অবজেক্ট যোগ করেছি, রেন্ডার করা হয়।

কোড 5:

# অন্তর্ভুক্ত করুন

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

fstream t_file ;

t_file. খোলা ( 'New.txt' ) ;

যদি ( t_file ) {

cout << 'ফাইল এখানে খোলা হয়েছে!' ;

}

অন্য {

সের << 'ত্রুটি ঘটেছে!' ;

}

ফিরে 0 ;

}

আউটপুট:

আমরা যে ফাইল দিয়েছি তা খোলা যাবে না। সুতরাং, 'cerr' অবজেক্টের পরে আমরা যে ত্রুটি বার্তাটি যুক্ত করেছি তা নিম্নলিখিতটিতে প্রদর্শিত হয়:

উদাহরণ 6:

আমরা এখানে একটি 'ব্যতিক্রম' হেডার ফাইল যোগ করি যা আমাদের কোডে ঘটতে পারে এমন ত্রুটিগুলি পরীক্ষা করার জন্য ব্যবহার করা হয়। নিম্নলিখিতটিতে, আমরা '6' আকারের 'new_array' নামে একটি পূর্ণসংখ্যা টাইপ অ্যারে শুরু করি। তারপর, আমরা “int” ভেরিয়েবলের “new_index” সেট করি এবং এখানে “7” বরাদ্দ করি। এখন, আমরা “new_size” ভেরিয়েবলকেও আরম্ভ করি এবং “new_size” ভেরিয়েবলে “*(&new_arr + 1) – new_arr” বরাদ্দ করি।

এর পরে, আমরা 'ট্রাই', 'থ্রো' এবং 'ক্যাচ' ব্যবহার করি যা ত্রুটিগুলি পরীক্ষা করতে এবং ত্রুটি বার্তাটি ছুঁড়তে ব্যবহৃত হয়। আমরা 'রঙ' অবজেক্টটি ব্যবহার করি যা 'থ্রো' কীওয়ার্ডের পরে যোগ করা ত্রুটি বার্তাটি দেখায়।

কোড 6:

# অন্তর্ভুক্ত করুন

#অন্তর্ভুক্ত <ব্যতিক্রম>

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {



int new_arr [ 6 ] = { 1 , 9 , 4 , 3 , 8 , 7 } ;

int new_index = 7 ;



int নতুন_আকার = * ( এবং new_arr + 1 ) - new_arr ;

চেষ্টা করুন {

যদি ( new_index < 0 || new_index >= নতুন_আকার ) নিক্ষেপ ( 'সূচক রেঞ্জের মধ্যে নেই। এটি এখানে রেঞ্জের বাইরে' ) ;



অন্য

cout << new_arr [ new_index ] ;



}

ধরা ( const চর * ভুল ) {

সের << ভুল ;

}

ফিরে 0 ;

}

আউটপুট:

এখানে, এটি একটি ত্রুটি বার্তা রেন্ডার করে যা দেখায় যে 'সূচক' পরিসীমার বাইরে এবং আমরা 'cerr' অবজেক্ট ব্যবহার করে এই ত্রুটিটি পাই।

উদাহরণ 7:

এখানে, আমরা একটি ত্রুটি পরীক্ষা করি যা ঘটতে পারে যখন আমরা একটি সংখ্যাকে শূন্য দিয়ে ভাগ করি। আমরা একটি 'd()' ফাংশন তৈরি করি যেখানে আমরা 'int' ডেটা টাইপ 'a1' এবং 'a2' এর দুটি ভেরিয়েবল পাস করি। এর নীচে, আমরা 'if' যোগ করি যেখানে আমরা 'a2==0' শর্তটি পাস করি। যদি “a2”-এর মান শূন্য হয়, তাহলে আমরা “থ্রো”-এর পরে যে বার্তাটি রাখি তা কার্যকর হয় যা আমরা কোডে “cerr” অবজেক্ট স্থাপন করে পাই।

এর পরে, আমরা 'রিটার্ন' রাখি যা 'a2' এর মান শূন্য না হলে বিভাগের উত্তর প্রদান করে। এখন, আমরা 'main()' চালু করি এবং 'int' ভেরিয়েবল হিসেবে আরম্ভ করার পর 'x'-এ '87' নির্ধারণ করি। এর পরে, আমরা '0' দিয়ে 'b' এবং 'd_res' ভেরিয়েবল শুরু করি। এখানে, আমরা 'ট্রাই' এবং 'ক্যাচ' রাখি যা ত্রুটিটি ধরতে পারে এবং 'cerr' ত্রুটি বার্তাটি ছুড়ে দেয় যা আমরা 'থ্রো' কীওয়ার্ডের পরে যুক্ত করেছি।

কোড 7:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int আমার_বিভাগ ( int a1 , int a2 ) {

যদি ( a2 == 0 ) {

নিক্ষেপ 'শূন্য দিয়ে ভাগ করা সম্ভব নয়!' ;

}

ফিরে ( a1 / a2 ) ;

}

int প্রধান ( ) {

int এক্স = 87 ;

int এবং = 0 ;

int d_কিছুই না = 0 ;

চেষ্টা করুন {

d_কিছুই না = আমার_বিভাগ ( এক্স , এবং ) ;

cout << d_কিছুই না << endl ;

} ধরা ( const চর * বার্তা ) {

সের << বার্তা << endl ;

}

ফিরে 0 ;

}

আউটপুট:

এখানে, এরর মেসেজ দেখা যাচ্ছে যার মানে হল আমরা সংখ্যাটিকে '0' দিয়ে ভাগ করতে চাই যা অসম্ভব।

উপসংহার

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