CodeGym/Java Blog/এলোমেলো/জাভাতে পৌঁছানো যায় না এমন বিবৃতি কোড ত্রুটি৷
John Squirrels
লেভেল 41
San Francisco

জাভাতে পৌঁছানো যায় না এমন বিবৃতি কোড ত্রুটি৷

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

নাগালযোগ্য কোড কি?

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

অপাগ্য কোড বনাম ডেড কোড

উন্নয়ন সম্প্রদায়ের মধ্যে, "অনুগমযোগ্য" এবং "মৃত" কোডের ধারণাগুলি কার্যত সমার্থক। যাইহোক, ডকুমেন্টেশন পড়ার সময় আপনি যদি নিখুঁত হন তবে আপনি দেখতে পাবেন যে উন্নয়ন নির্দেশিকা প্রায়শই দুটি আলাদাভাবে উল্লেখ করে। মৃত এবং অপাগ্য কোড মধ্যে কোন পার্থক্য আছে? মূলত, দুটি ত্রুটির মধ্যে পার্থক্য হল যেভাবে কম্পাইলার তাদের প্রতিক্রিয়া করে। যদি আপনি কম্পাইলারে যে কোডটি প্রবেশ করেন তা পৌঁছানো যায় না , আপনি জাভা বিজ্ঞপ্তিতে একটি কম্পাইল রানটাইম ত্রুটি পাবেন। যদি আপনার বিবৃতি " মৃত কোড " হয়, তাহলে কোন রানটাইম ত্রুটি থাকবে না - একজন বিকাশকারী নিম্নলিখিত সিস্টেম সতর্কতা পাবেন:
class DeadCode {
    void deadcode_Method(boolean b) {
    System.out.println("Reachable statement");
        if(true) {
        return;
        }
    System.out.println("Unreachable statement"); // dead code
    }
}
যেহেতু ডেড কোডের ক্ষেত্রে সরাসরি কম্পাইলার ত্রুটি নেই, তাই এটি সনাক্ত করা কঠিন। যাইহোক, আপনি যদি System.out.printIn রিটার্নের বিষয়ে সতর্ক নজর রাখেন, তাহলে ডেড কোড ধরার ফলে আপনার সমস্যা হবে না।

কেন আপনি পৌঁছানো যায় না এমন কোড স্টেটমেন্ট পান

ভাল খবর হল, অপাগ্য কোড সমস্যার কারণ খুঁজে বের করা সহজ। আপনার কম্পাইলার ত্রুটি ফেরত রাখার তিনটি প্রধান কারণ রয়েছে:
  • বিবৃতি স্থানান্তর. আপনি যদি একটি রিটার্ন স্টেটমেন্ট দিয়ে আপনার কোড ভাঙ্গেন, তাহলে "রিটার্ন = সত্য" এর পরে কিছুই কার্যকর হবে না।
  • অসীম লুপ - অসীম লুপের পরে আপনি যে কোডটি লিখেছেন তা কার্যকর করা হবে না যেহেতু সিস্টেম লুপ অ্যাকশনটি পুনরাবৃত্তি করতে থাকবে। এইভাবে, আপনার কোডকে বাইট কোডে রূপান্তর করার সময়, কম্পাইলার একটি অপাগ্য কোড ত্রুটি পাঠাবে।
এই সমস্যাগুলিকে পতাকাঙ্কিত করতে এবং সমাধান করতে আপনাকে সাহায্য করতে, আসুন সেগুলি জুম করুন৷

বিবৃতি ফেরত

একটি রিটার্ন স্টেটমেন্ট হল ট্রান্সফার কীওয়ার্ড গ্রুপের একটি অংশ, যার অর্থ এটি আপনার পদ্ধতিকে বন্ধ করে দেয়। এটি ফাংশন আলাদা করার জন্য সহায়ক এবং আপনার কোড পাঠযোগ্য এবং পরিষ্কার রাখতে সাহায্য করে। যাইহোক, যেহেতু আপনি রিটার্ন = true এর পরে ফাংশনে নতুন স্টেটমেন্ট যোগ করতে পারবেন না, তাই কীওয়ার্ডের পরে ফাংশন চালিয়ে যাওয়ার চেষ্টা করলে আপনি একটি “Unreachable code” কম্পাইলার ত্রুটি পাবেন। আসুন "রিটার্ন = সত্য" অব্যবস্থাপনার একটি উদাহরণ এবং একটি কম্পাইলার এটিতে কীভাবে প্রতিক্রিয়া দেখায় তা দেখে নেওয়া যাক।
class GFG {
    public static void main(String args[])
    {

        System.out.println("My code will run");

        return;

        // ironically, this code will never run
        // here’s an unreachable code message a developer gets.
        System.out.println("My code will run");
    }
}
কম্পাইলারে রিটার্ন স্টেটমেন্টের অপব্যবহার কীভাবে প্রদর্শিত হবে তা এখানে:
prog.java:11: error: unreachable statement
System.out.println(“My code will run”);
^
1 error
আপনি যা শিখেছেন তা শক্তিশালী করার জন্য, আমরা আপনাকে আমাদের জাভা কোর্স থেকে একটি ভিডিও পাঠ দেখার পরামর্শ দিই

বিবৃতি বিরতি

ব্রেক স্টেটমেন্ট হল আরেক ধরনের কীওয়ার্ড যা আপনাকে জাভা ফাংশন লেখার সময় সতর্ক থাকতে হবে। সংজ্ঞা অনুসারে, ব্রেক কীওয়ার্ডটি লুপ শেষ করতে ব্যবহৃত হয়। নীচের উদাহরণে, একজন ডেভেলপার লুপ থেকে বেরিয়ে আসার সাথে সাথে, তিনি আর 8 লাইনে বিবৃতিটি কার্যকর করতে সক্ষম হবেন না - এইভাবে, কম্পাইলার একটি পৌঁছানো যায় না এমন বিবৃতি ত্রুটি দেখাবে। এখানে একটি নমুনা কোড যা একটি পৌঁছানো যায় না এমন কোড বিবৃতিতে পরিণত হবে:
public class JavaCodeGeeks
     {
    public static void main(String[] args) {
     for(int i=1;i<5;i++)
        {
        System.out.println(i);
        break;
        System.out.println("Code after break");
        }
    }
}
একটি কম্পাইলার পয়েন্ট-অফ-ভিউ থেকে ত্রুটিটি দেখলে, আপনি নিম্নলিখিত ত্রুটি বিবৃতিটি পাবেন।
JavaCodeGeeks.java:8: error: unreachable statement
System.out.println("After break");
                ^
1 error

বিবৃতি চালিয়ে যান

Continue হল একটি লুপ কন্ট্রোল কীওয়ার্ড যা অ্যাকশনের পুনরাবৃত্তি করতে ব্যবহৃত হয়। যখনই আপনি একটি লুপের এক্সিকিউশন স্ক্র্যাচ থেকে শুরু করতে চান, আপনার কোডে অবিরত যোগ করুন। বিবৃতিটি ডেভেলপারদের লুপের কোন বিবৃতিটি তারা পুনরাবৃত্তি করতে চায় এবং কোনটি তারা পুনরাবৃত্তি করতে চায় না তা চয়ন করতে সাহায্য করার জন্য দরকারী। যদিও অবিরত একটি সহজবোধ্য কীওয়ার্ড ব্যবহার করার জন্য, এটি কীভাবে কাজ করে সে সম্পর্কে সম্পূর্ণ ধারণা না থাকা ডেভেলপারদেরকে "অনাগাম কোড" ফাঁদে নিয়ে যায়। যেহেতু, একটি অবিরত সম্মুখীন হওয়ার পর, একটি সিস্টেম লুপটি পুনরাবৃত্তি করবে, কীওয়ার্ডটি এটি অনুসরণকারী বিবৃতিগুলিতে পৌঁছাতে সক্ষম হবে না। বলুন, আপনার নিম্নলিখিত কোড আছে:
public class JavaIsFun
{
    public static void main(String[] args) {
        for(int i=0;i<8;i++)
        {
            System.out.println(i);
            if(i==5)
            {
                continue;
                System.out.println("Coding after continue");
            }
        }
    }
}
সিস্টেম আপনার "কোডিং আফটার কন্টিনিউ" স্টেটমেন্ট এক্সিকিউট করবে না - কম্পাইলার আপনাকে এখুনি এটি সম্পর্কে জানাবে।
JavaIsFun.java:10: error: unreachable statement
                                System.out.println("Coding after continue");

অসীম loops

একটি দৃশ্যকল্প যা "ব্রেক" এবং "কন্টিনিউ" কীওয়ার্ড ব্যবহারের ক্ষেত্রের উদাহরণের অনুরূপ তা হল একটি অসীম লুপ। একটি অসীম লুপ ডিজাইন করার সময়, একজন বিকাশকারীকে মনে রাখা উচিত যে এটির পরে কোনও বিবৃতি চলবে না। এইভাবে, আপনি যদি লুপটি না ভাঙ্গেন, তবে পরে লেখা সমস্ত কোড পৌঁছানো যাবে না। এখানে চেক আউট করার জন্য অসীম লুপ ভুল ব্যবস্থাপনার একটি আকর্ষণীয় উদাহরণ:
public class JavaCodeGym
{
    public static void main(String[] args) {
        while(true)
        {
            System.out.println("Hey there");
        }
        System.out.println("Nice to see you");
    }
}
আপনি অনুমান করতে পারেন যেখানে ত্রুটি লুকিয়ে আছে? আপনি আপনার কোডটি চালানোর সাথে সাথে কম্পাইলার এটিকে নির্দেশ করবে:
//unreachable code statement compiler error
JavaCodeGym.java:10: error: unreachable statement
                System.out.println("Nice to see you");
যেহেতু "আপনাকে দেখে ভালো লাগলো" এর আগে একটি অসীম লুপ রয়েছে , তাই বিবৃতিটি কখনই কার্যকর হবে না এবং একটি পৌঁছানো যায় না এমন কোড ত্রুটি ফিরিয়ে দিতে থাকবে৷

উপসংহার

অপাগ্য কোড এড়াতে, আপনাকে নিশ্চিত করতে হবে যে আপনার সমস্ত সিস্টেম বিবৃতিতে একটি প্রবাহ আছে। বেশিরভাগ জাভা অপাগ্য কোড সমস্যাগুলি কীওয়ার্ড পরিচালনা এবং লুপগুলি খারাপভাবে পরিচালনা করার সাথে সম্পর্কিত। দিনের শেষে, আপনার কোড দুবার চেক করা হল অনাগমযোগ্য কোড ভুল এড়ানোর একমাত্র চেষ্টা করা এবং সত্য উপায়। আপনারও তাদের দ্বারা নিরুৎসাহিত হওয়া উচিত নয় - তরল জাভা কোড তৈরি করার অভ্যাস বছরের অভিজ্ঞতা এবং অনুশীলনের সাথে আসে। সুতরাং, আসুন আইডিইতে আঘাত করি এবং দুর্দান্ত সফ্টওয়্যার পণ্য তৈরি করা শুরু করি।
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই