কম্পিউটার

জাভাতে পদ্ধতি ওভাররাইডিংয়ের ক্ষেত্রে ব্যতিক্রম পরিচালনার নিয়মগুলি কী কী?


যদিও একটি সুপারক্লাস পদ্ধতি এটিকে ওভাররাইড করার সময় একটি ব্যতিক্রম ছুঁড়ে দেয় আপনাকে নির্দিষ্ট নিয়মগুলি অনুসরণ করতে হবে৷

একই ব্যতিক্রম বা, সাব টাইপ নিক্ষেপ করা উচিত

যদি সুপার-ক্লাস পদ্ধতি নির্দিষ্ট ব্যতিক্রম ছুঁড়ে দেয়, তাহলে সাব-ক্লাসের পদ্ধতিটি একই ব্যতিক্রম বা তার সাব টাইপ নিক্ষেপ করা উচিত।

উদাহরণ

নিম্নলিখিত উদাহরণে, সুপার-ক্লাসের readFile() পদ্ধতিটি একটি IOEXception নিক্ষেপ করে এবং, সাব-ক্লাসের readFile() পদ্ধতি FileNotFoundException ব্যতিক্রম থ্রো করে৷

যেহেতু FileNotFoundException ব্যতিক্রম হল IOException-এর সাব-টাইপ এই প্রোগ্রামটি কোনো ত্রুটি ছাড়াই কম্পাইল এবং এক্সিকিউট করা হয়।

 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; বিমূর্ত ক্লাস সুপার { পাবলিক স্ট্রিং রিডফাইল(স্ট্রিং পাথ) IOException নিক্ষেপ করে { নতুন IOException(); }}পাবলিক ক্লাস এক্সেপশন এক্সাম্পল সুপার { @ওভাররাইড পাবলিক স্ট্রিং রিডফাইল(স্ট্রিং পাথ) ফাইলনটফাউন্ডএক্সেপশন থ্রো করে { Scanner sc =new Scanner(new File("E://test//sample.txt")); স্ট্রিং ইনপুট; স্ট্রিংবাফার এসবি =নতুন স্ট্রিংবাফার(); যখন (sc.hasNextLine()) { ইনপুট =sc.nextLine(); sb.append(" "+ইনপুট); } রিটার্ন sb.toString(); } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { স্ট্রিং পাথ ="E://test//sample.txt"; ব্যতিক্রম উদাহরণ obj =নতুন ব্যতিক্রম উদাহরণ(); চেষ্টা করুন { System.out.println(obj.readFile(path)); }catch(FileNotFoundException e) { System.out.println("নিশ্চিত করুন যে নির্দিষ্ট ফাইলটি বিদ্যমান"); } } }

আউটপুট

টিউটোরিয়াল পয়েন্ট হল একটি ই-লার্নিং কোম্পানী যেটি সেই শ্রেণীর পাঠকদের জ্ঞান প্রদানের জন্য যাত্রা শুরু করেছে যা অনলাইন বিষয়বস্তুতে আরও ভাল সাড়া দেয়। টিউটোরিয়াল পয়েন্টের মাধ্যমে, আপনি আপনার নিজস্ব গতিতে, আপনার নিজস্ব জায়গায় শিখতে পারেন। tutorialspoint.com-এ সেরা শেখার বিষয়বস্তু প্রদানের সফল যাত্রার পর, K-12 ছাত্রদের জন্য এবং IIT/JEE-এর মতো প্রতিযোগিতামূলক পরীক্ষার প্রার্থীদের জন্য সেরা ব্যক্তিগতকৃত উপায়ে সহজভাবে সহজ শিক্ষা প্রদান করার জন্য আমরা Tutorix নামে আমাদের সাবস্ক্রিপশন ভিত্তিক প্রিমিয়াম পণ্য তৈরি করেছি। NEET।

উদাহরণ

একইভাবে যদি সাব-ক্লাস সুপার-ক্লাসের মতো একই ব্যতিক্রম ছুড়ে দেয় তবে প্রোগ্রামটি কম্পাইল এবং সফলভাবে কার্যকর করা হয়।

 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; বিমূর্ত ক্লাস সুপার { public void sampleMethod() FileNotFoundException { System.out.println(" সুপারক্লাসের পদ্ধতি"); }}পাবলিক ক্লাস এক্সেপশন এক্সাম্পল এক্সটেন্ড করে সুপার { public void sampleMethod() থ্রু FileNotFoundException { System.out.println("সাবক্লাসের পদ্ধতি"); } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { ব্যতিক্রম উদাহরণ obj =নতুন ব্যতিক্রম উদাহরণ(); obj.sampleMethod(); }}

আউটপুট

সাবক্লাসের পদ্ধতি

সুপার টাইপের ব্যতিক্রম নিক্ষেপ করা উচিত নয়

যদি সুপার-ক্লাস পদ্ধতি নির্দিষ্ট ব্যতিক্রম ছুঁড়ে দেয়, তাহলে সাব-ক্লাসের পদ্ধতিটি তার সুপার টাইপ নিক্ষেপ করা উচিত নয়।

উদাহরণ

নিম্নলিখিত উদাহরণে সুপার-ক্লাসের readFile() পদ্ধতিটি FileNotFoundException ব্যতিক্রমকে ছুঁড়ে দেয় এবং, সাব-ক্লাসের readFile() পদ্ধতিটি একটি IOException নিক্ষেপ করে, যা FileNotFoundException-এর সুপার টাইপ।

 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; বিমূর্ত ক্লাস সুপার { পাবলিক স্ট্রিং রিডফাইল(স্ট্রিং পাথ) FileNotFoundException নিক্ষেপ করে { নতুন FileNotFoundException(); }}পাবলিক ক্লাস এক্সেপশন উদাহরণ সুপার { @ওভাররাইড পাবলিক স্ট্রিং রিডফাইল(স্ট্রিং পাথ) IOException { //method body ...... }}
কে প্রসারিত করে

কম্পাইল সময় ত্রুটি

কম্পাইল করার সময়, উপরের প্রোগ্রামটি আপনাকে নিম্নলিখিত আউটপুট দেয় -

ExceptionsExample.java:13:ত্রুটি:ExceptionsExample-এ readFile(String) সাপ পাবলিক স্ট্রিং রিডফাইল(স্ট্রিং পাথ)তে readFile(স্ট্রিং) ওভাররাইড করতে পারে না 

কোন ব্যতিক্রম নিক্ষেপ ছাড়াই

যদি সুপার-ক্লাস পদ্ধতি নির্দিষ্ট ব্যতিক্রম থ্রো করে, আপনি কোনো ব্যতিক্রম ছাড়াই এটিকে ওভাররাইড করতে পারেন।

উদাহরণ

নিম্নলিখিত উদাহরণে সুপার-ক্লাসের sampleMethod() পদ্ধতি FileNotFoundException ব্যতিক্রমকে ছুঁড়ে দেয় এবং, sampleMethod() পদ্ধতিটি কোনো ব্যতিক্রমই ফেলে না। তারপরও এই প্রোগ্রামটি কোনো ত্রুটি ছাড়াই সংকলিত এবং কার্যকর করা হয়।

 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; বিমূর্ত ক্লাস সুপার { public void sampleMethod() FileNotFoundException { System.out.println(" সুপারক্লাসের পদ্ধতি"); }}পাবলিক ক্লাস এক্সেপশনস এক্সাম্পল সুপার { পাবলিক ভ্যাড স্যাম্পল মেথড() { System.out.println("সাবক্লাসের পদ্ধতি") প্রসারিত করে; } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { ব্যতিক্রম উদাহরণ obj =নতুন ব্যতিক্রম উদাহরণ(); obj.sampleMethod(); }}

আউটপুট

সাবক্লাসের পদ্ধতি

  1. জাভাতে স্ট্রিং ইন্টার্ন() পদ্ধতির ভূমিকা কী?

  2. জাভাতে পেইন্ট() পদ্ধতি এবং পুনরায় পেইন্ট() পদ্ধতির মধ্যে পার্থক্য কী?

  3. জাভাতে একটি ব্যতিক্রম ক্লাস এবং একটি ত্রুটি ক্লাসের মধ্যে পার্থক্য কী?

  4. জাভাতে মেথড ওভাররাইডিং সহ ব্যতিক্রম হ্যান্ডলিং।