কম্পিউটার

জাভাতে নাগালযোগ্য ক্যাচ ব্লকগুলি কী কী?


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

সিনট্যাক্স

try {
   // statements
} catch(Exception e) {
   System.out.println(e);
} catch(NumberFormatException nfe) { //unreachable block. Not supported by Java, leads to an error.
   System.out.println(nfe);
}

নিম্নলিখিত উভয় শর্তই সত্য হলে একটি ক্যাচ ক্লজ কম্পাইলার দ্বারা পৌঁছানো যায় বলে মনে করা হয়

  • একটি চেক করা ব্যতিক্রম যা ট্রাই ব্লকে নিক্ষেপ করা হয় তা C-এর প্যারামিটারে বরাদ্দযোগ্য।
  • এমন কোনো পূর্ববর্তী ক্যাচ ক্লজ নেই যার পরামিতি প্রকার C-এর পরামিতি প্রকারের সমান বা সুপার টাইপ

একটি ক্যাচ ক্লজ কম্পাইলার দ্বারা পৌঁছানোর যোগ্য বলে বিবেচিত হয় যদি নিম্নলিখিত দুটি শর্তই সত্য হয় তবে এটি অপাগ্য হতে পারে

  • ক্যাচ ক্লজ প্যারামিটার টাইপ E-তে কোনো অচেক করা ব্যতিক্রম অন্তর্ভুক্ত নেই।
  • সমস্ত ব্যতিক্রম যা ট্রাই ব্লকে নিক্ষেপ করা হয় যার ধরন একটি (কঠোর) সাবটাইপ ই পূর্ববর্তী ক্যাচ ক্লজ দ্বারা ইতিমধ্যেই পরিচালনা করা হয়েছে৷

উদাহরণ

public class UnreachableBlock{
   public static void main(String[] args) {
      try {
         int i = Integer.parseInt("abc"); //This statement throws NumberFormatException
      } catch(NumberFormatException nfe) {
         System.out.println("This block handles NumberFormatException");
      } catch(Exception e) {
         System.out.println("This block handles all exception types");
      } catch (Throwable t) {
         System.out.println("Throwable is super class of Exception");
      }
   }
}

আউটপুট

This block handles NumberFormatException

  1. জাভাতে নাগালযোগ্য ক্যাচ ব্লকগুলি কী কী?

  2. জাভা ক্লাসে স্ট্যাটিক সদস্যদের পড়ার পদক্ষেপগুলি কী কী?

  3. আমরা জাভাতে একাধিক ক্যাচ ব্লক সহ একটি চেষ্টা ব্লক সংজ্ঞায়িত করতে পারি?

  4. আমরা জাভা একটি ক্যাচ ব্লক ছাড়া একটি চেষ্টা ব্লক করতে পারেন?