মডিউল পাঠ (1/2)
ট্রাই-ক্যাচ ব্লক
জাভাতে, রানটাইম ত্রুটিগুলি ব্যতিক্রম ব্যবহার করে পরিচালনা করা হয়। ব্যতিক্রম হ্যান্ডলিং আমাদের অস্বাভাবিক অবস্থাকে বাধা দিতে এবং প্রোগ্রামটিকে ক্র্যাশ হওয়া থেকে প্রতিরোধ করতে দেয়।
try-catch কাঠামো
একটি সম্ভাব্য ব্যতিক্রম পরিচালনা করতে, আমরা একটি try ব্লকে ঝুঁকিপূর্ণ কোডটি আবদ্ধ করি। যদি try ব্লকের মধ্যে একটি ত্রুটি ঘটে, JVM এটি কার্যকর করা বন্ধ করে দেয় এবং ব্যতিক্রমটি পরিচালনা করার জন্য একটি মিলে যাওয়া catch ব্লকের জন্য অনুসন্ধান করে৷
try {
int result = 10 / 0; // Generates ArithmeticException
System.out.println("This will not be printed");
} catch (ArithmeticException e) {
System.out.println("Arithmetic error occurred: " + e.getMessage());
}finally ব্লক
finally ব্লকটি ঐচ্ছিক এবং সর্বদা কার্যকর করা হয়, কোনো ব্যতিক্রম নিক্ষেপ করা হোক না কেন। এটি সম্পদ প্রকাশ বা পরিচ্ছন্নতার ক্রিয়াকলাপ সম্পাদনের জন্য আদর্শ।
try {
System.out.println("Executing logic");
} catch (Exception e) {
System.out.println("Error");
} finally {
System.out.println("This block is always executed");
}ছোঁড়া ব্যতিক্রম: throw
আমরা ইচ্ছাকৃতভাবে throw কীওয়ার্ড ব্যবহার করে একটি ব্যতিক্রম ক্লাসের একটি নতুন উদাহরণ অনুসরণ করতে পারি।
public static void checkScore(int score) {
if (score < 0 || score > 100) {
throw new IllegalArgumentException("Score must be between 0 and 100");
}
}নিজে চেষ্টা করে দেখুন
a/b বিভাগ থেকে উদ্ভূত একটি সম্ভাব্য পাটিগণিত ব্যতিক্রম পরিচালনা করার জন্য একটি চেষ্টা-ক্যাচ ব্লক সন্নিবেশ করে কোডটি সম্পূর্ণ করুন। একটি ত্রুটির ক্ষেত্রে, 'ত্রুটি: শূন্য দ্বারা বিভাজন' প্রিন্ট করুন।
ইঙ্গিত দেখান
একটি `ট্রাই` ব্লকের ভিতরে ডিভিশন অপারেশন প্রবেশ করান এবং প্রয়োজনীয় বার্তা প্রিন্ট করে `অরিথমেটিক এক্সেপশন` ধরুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
একটি চেষ্টা-ক্যাচ-অবশেষে ব্লক বাস্তবায়ন করতে কোডটি সম্পূর্ণ করুন। চেষ্টা ব্লকে, Integer.parseInt ব্যবহার করে স্ট্রিং স্ট্রিংটিকে একটি পূর্ণসংখ্যাতে রূপান্তর করার চেষ্টা করুন। ক্যাচ ব্লকে, NumberFormatException ইন্টারসেপ্ট করুন এবং 'অবৈধ নম্বর' প্রিন্ট করুন। অবশেষে ব্লকে, 'Finally' প্রিন্ট করুন।
ইঙ্গিত দেখান
`ট্রাই { ... } ক্যাচ (NumberFormatException e) { ... } অবশেষে { ... }` ব্লক স্ট্রাকচার লিখুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
প্রদত্ত বয়স 18-এর কম হলে 'অপ্রাপ্তবয়স্ক' বার্তা সহ একটি IllegalArgumentException নিক্ষেপ করে checkAge পদ্ধতিটি সম্পূর্ণ করুন৷
ইঙ্গিত দেখান
'যদি (বয়স < 18)' এবং 'নতুন নিক্ষেপ' কীওয়ার্ডগুলিকে তাৎক্ষণিক এবং ব্যতিক্রমটি ছুঁড়ে ফেলতে ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ