কম্পিউটার

আমরা কি জাভাতে আরেকটি ট্রাই ক্যাচ ব্লকের মধ্যে একটি ট্রাই ক্যাচ ব্লক ঘোষণা করতে পারি?


হ্যাঁ , আমরা একটি ঘোষণা করতে পারি অন্য ট্রাই-ক্যাচ ব্লকের মধ্যে ট্রাই-ক্যাচ ব্লক, একে বলা হয় নেস্টেড ট্রাই-ক্যাচ ব্লক।

নেস্টেড ট্রাই-ক্যাচ ব্লক

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

সিনট্যাক্স

try {
   statement 1;
   statement 2;
   try {
      statement 1;
      statement 2;
   }
   catch(Exception e) {
      // catch the corresponding exception  
   }  
}
catch(Exception e) {
   // catch the corresponding exception
}
   .............

উদাহরণ

import java.io.*;
public class NestedTryCatchTest {
   public static void main (String args[]) throws IOException {
    int n = 10, result = 0;
      try { // outer try block
         FileInputStream fis = null;
         fis = new FileInputStream (new File (args[0]));
         try { // inner trty block
            result = n/0;
            System.out.println("The result is"+result);
         }  
         catch(ArithmeticException e) { // inner catch block
            System.out.println("Division by Zero");
         }
      }
      catch (FileNotFoundException e) { // outer catch block
         System.out.println("File was not found");
      }
      catch(ArrayIndexOutOfBoundsException e) { // outer catch block
         System.out.println("Array Index Out Of Bounds Exception occured ");
      }
      catch(Exception e) { // outer catch block
         System.out.println("Exception occured"+e);
      }
   }
}

আউটপুট

Array Index Out Of Bounds Exception occured

  1. আমরা ক্যাচ বা, অবশেষে জাভা ব্লক একটি রিটার্ন বিবৃতি থাকতে পারে?

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

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

  4. আমরা কি জাভাতে একটি প্রধান পদ্ধতিকে ব্যক্তিগত হিসাবে ঘোষণা করতে পারি?