কম্পিউটার টিউটোরিয়াল

সি-তে ট্রাই-ক্যাচ এরর হ্যান্ডলিং মাস্টারিং:একটি ব্যবহারিক গাইড

সি-তে ট্রাই-ক্যাচ এরর হ্যান্ডলিং মাস্টারিং:একটি ব্যবহারিক গাইড

"ট্রাই" এবং "ক্যাচ" শব্দগুলি বর্ণনা করে যে যখন একটি প্রোগ্রাম একটি কোড বা ডেটা সমস্যার কারণে একটি ব্যতিক্রমের সম্মুখীন হয় তখন কী করতে হবে। ব্যতিক্রমগুলি একটি চেষ্টা এ পরিচালনা করা হয়৷ কোড ব্লক। ক্যাচ ব্লকগুলি চেষ্টা ব্লকগুলি থেকে ব্যতিক্রমগুলি খুঁজে পেতে এবং পরিচালনা করতে ব্যবহার করা হয়। পাইথন, সি++ এবং জাভাস্ক্রিপ্ট সহ অনেকগুলি প্রোগ্রামিং ল্যাঙ্গুয়েজ, ট্রাই-ক্যাচ অন্তর্ভুক্ত করে বিবৃতি।

এই নিবন্ধটি দেখায় যে একটি ট্রাই-ক্যাচ স্টেটমেন্ট কী এবং এটি সি প্রোগ্রামিং-এ একটি উদাহরণ ব্যবহার করে কীভাবে প্রয়োগ করা হয়।

ট্রাই ক্যাচ স্টেটমেন্ট কি?

চেষ্টা করুন বিবৃতি বিবৃতিগুলির একটি সংগ্রহকে সংজ্ঞায়িত করে যা একটি ব্যতিক্রম তৈরি করতে পারে। যখন একটি নির্দিষ্ট ধরণের ব্যতিক্রম ঘটে, তখন ক্যাচ ব্লকটি যেখানে ব্যতিক্রমটি পাঠানো হয়। কম্পাইলার হয় একটি ত্রুটির নোটিশ আউটপুট করবে অথবা ব্যতিক্রমটি কল স্ট্যাক পর্যন্ত ভ্রমণ করতে থাকবে যতক্ষণ না এটির সমাধান না করা হয় যদি চেষ্টা/ক্যাচ ব্লক এটি পরিচালনা করতে ব্যর্থ হয়।

ট্রাই-ক্যাচ-এর সাধারণ সিনট্যাক্স বিবৃতি দেওয়া হয় এইভাবে:

চেষ্টা করুন {
    /*
    কিছু কোড সন্নিবেশ করান যা সম্ভবত ত্রুটি তৈরি করবে
    */
}
ধর {
    /*
    উৎপন্ন ত্রুটিগুলি পরিচালনা করার জন্য একটি কোড লিখুন।
    */

সি-তে ট্রাই-ক্যাচ স্টেটমেন্ট কী?

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

এখন, আমরা কোডের উন্নতি করার সাথে সাথে আমরা ধীরে ধীরে একটি সমাধান তৈরি করব। longjmp এবং setjmp হল দুটি C ফাংশন যা setjmp.h হেডার ফাইল দ্বারা সরবরাহ করা যেতে পারে আমাদের দ্বারা ব্যবহার করা হবে। setjmp ফাংশন jmp_buf টাইপ ভেরিয়েবল গ্রহণ করে এবং সরাসরি কল করা হলে 0 প্রদান করে। যখন একই jmp_buf ভেরিয়েবল দুটি ভেরিয়েবলের সাথে longjmp চালু করতে ব্যবহৃত হয়, তখন setjmp ফাংশন একটি মান প্রদান করে যা longjmp এর দ্বিতীয় আর্গুমেন্টের মানের সাথে মেলে।

উপরোক্ত বাস্তবায়নের একটি উদাহরণ দেওয়া হল:

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত
# সংজ্ঞায়িত করুন চেষ্টা করুন { jmp_buf buf_state; যদি ( !setjmp(buf_state)) {
#CATCH সংজ্ঞায়িত করুন } অন্য {
# সংজ্ঞায়িত করুন ENDTRY }} যখন(0)
# সংজ্ঞায়িত করুন থ্রো longjmp(buf_state, 1)
int main()
{
    চেষ্টা করুন {
        printf("বিবৃতি পরীক্ষার চেষ্টা করুন\n");
        নিক্ষেপ;
        printf("বিবৃতিটি উপস্থিত হওয়া উচিত নয়, কারণ থ্রো ব্লক ইতিমধ্যেই ব্যতিক্রমটি নিক্ষেপ করেছে \n");
    }
    ধর {
        printf("Got ব্যতিক্রম \n");
    }
    শেষ চেষ্টা;
    রিটার্ন 0;

উপরের সি প্রোগ্রামে, ENDTRY ফাংশনটি ডু-হোইল ব্লকের ক্লোজিং অংশ প্রদানের জন্য ব্যবহৃত হয়।

সি-তে ট্রাই-ক্যাচ এরর হ্যান্ডলিং মাস্টারিং:একটি ব্যবহারিক গাইড

উপসংহার

কোনো প্রোগ্রাম চলাকালীন কোনো ডেটা বা কোডিং ত্রুটির কারণে কোনো ব্যতিক্রমের সম্মুখীন হলে, “চেষ্টা করুন ” এবং “ধরা কিভাবে এটি পরিচালনা করতে হয় তা বর্ণনা করুন। একটি চেষ্টা করুন ৷ কোডের ব্লক, একটি ক্যাচ করার সময় ব্যতিক্রম ঘটে ব্লক হল যেখানে চেষ্টা থেকে ত্রুটি ব্লক পাওয়া যায় এবং পরিচালনা করা হয়। অনেক প্রোগ্রামিং ভাষা ট্রাই-ক্যাচ সমর্থন করে ব্লক কিন্তু সি করে না। এই গাইডটি সি প্রোগ্রামিং-এ ট্রাই-ক্যাচ স্টেটমেন্ট ব্যবহার করার একটি পদ্ধতি বর্ণনা করেছে।

লেখক সম্পর্কে

সি-তে ট্রাই-ক্যাচ এরর হ্যান্ডলিং মাস্টারিং:একটি ব্যবহারিক গাইড

কোমল বাটুল বাটুল

আমি গবেষণা প্রযুক্তি এবং নতুন ধারণার প্রতি অনুরাগী এবং এটি আমাকে LinuxHint-এর জন্য লিখতে এখানে নিয়ে এসেছে। আমার প্রধান ফোকাস হল প্রোগ্রামিং ভাষা এবং কম্পিউটার বিজ্ঞান সম্পর্কিত বিষয়গুলিতে লেখা।


  1. Redis জন্য 10 দ্রুত টিপস

  2. জাভা ব্যবহার করে সেলেনিয়াম ওয়েবড্রাইভারের সাথে ব্রাউজার লগ ক্যাপচার করা।

  3. সলিড কেবল সহ মাস্টার রেল অ্যাকশন কেবল:রেডিস ছাড়াই রিয়েল-টাইম অ্যাপস তৈরি করুন

  4. Python OpenCv মডিউল ব্যবহার করে চিত্রগুলিতে জ্যামিতিক আকার আঁকুন