Java তে Exception Handling একটি গুরুত্বপূর্ণ বিষয়। Java এর try, catch, এবং finally ব্লকগুলো দিয়ে এক্সসেপশন হ্যান্ডেল করা হয়। এই তিনটি ব্লক একত্রে ব্যবহার করা হয় যাতে প্রোগ্রামটি এমনকি এক্সসেপশন ঘটলেও নির্বিঘ্নে চলতে পারে এবং সঠিকভাবে সমস্যা সমাধান করা যায়।
1. Try ব্লক:
- কাজ:
tryব্লকটি এমন একটি অংশ যেখানে আপনি কোড লেখেন যা সম্ভাব্যভাবে একটি এক্সসেপশন সৃষ্টি করতে পারে। এই ব্লকটি চালানোর পর যদি কোনো এক্সসেপশন ঘটে, তবে সিস্টেম স্বয়ংক্রিয়ভাবেcatchব্লকে চলে যায়। সিনট্যাক্স:
try { // Code that might throw an exception }
উদাহরণ:
try {
int result = 10 / 0; // This will throw ArithmeticException
}
2. Catch ব্লক:
- কাজ:
catchব্লকটিtryব্লকের সাথে যুক্ত থাকে এবংtryব্লকে যদি কোনো এক্সসেপশন ঘটে, তবে তাcatchব্লকে ধরা হয়। এখানে আপনি এক্সসেপশনের ধরন অনুযায়ী তা ধরতে এবং যথাযথভাবে সমাধান করতে পারেন। catchব্লকটি এক বা একাধিক থাকতে পারে, এবং প্রতিটিcatchব্লক এক্সসেপশনের ভিন্ন ধরণের জন্য কাজ করে।সিনট্যাক্স:
catch (ExceptionType e) { // Handle exception }
উদাহরণ:
try {
int result = 10 / 0; // This will throw ArithmeticException
} catch (ArithmeticException e) {
System.out.println("Error: " + e.getMessage()); // Handling ArithmeticException
}
3. Finally ব্লক:
- কাজ:
finallyব্লকটি এমন একটি অংশ যেখানে আপনি এমন কোড লিখতে পারেন যাtryবাcatchব্লকগুলির পরে রান হবে, चाहे কোনো এক্সসেপশন ঘটে বা না ঘটে। এটি সাধারণত রিসোর্স বন্ধ করার জন্য ব্যবহৃত হয় (যেমন ফাইল, ডাটাবেস কানেকশন)। finallyব্লকটি যখনই থাকে, তখন তা নির্বিশেষে কাজ করবে, এমনকি যদি কোনোtryব্লক থেকে রিটার্ন স্টেটমেন্ট চলে আসে।সিনট্যাক্স:
finally { // Cleanup code }
উদাহরণ:
try {
int result = 10 / 0; // This will throw ArithmeticException
} catch (ArithmeticException e) {
System.out.println("Error: " + e.getMessage()); // Handling ArithmeticException
} finally {
System.out.println("This will always execute, regardless of exception.");
}
Try, Catch, Finally এর কাজ কী?
- Try ব্লক: কোডের যে অংশে এক্সসেপশন ঘটতে পারে সেখানে
tryব্লক ব্যবহার করা হয়। - Catch ব্লক:
tryব্লকের মধ্যে যদি কোনো এক্সসেপশন ঘটে, তবেcatchব্লক এক্সসেপশনটি ধরবে এবং সঠিকভাবে তা হ্যান্ডেল করবে। - Finally ব্লক:
finallyব্লকটি সিস্টেমের যেকোনো অবস্থা (এক্সসেপশন ঘটুক বা না ঘটুক) থেকে মুক্তি পেতে এবং রিসোর্স ক্লোজ করতে ব্যবহৃত হয়। এটি নিশ্চিত করে যে কিছু কোড কখনই বাদ যাবে না, যেমন ডাটাবেস কানেকশন বন্ধ করা বা ফাইল বন্ধ করা।
Additional Examples:
Example 1: Basic Try, Catch, Finally
public class Example {
public static void main(String[] args) {
try {
int result = 10 / 0; // This will throw ArithmeticException
} catch (ArithmeticException e) {
System.out.println("Error: Division by zero is not allowed.");
} finally {
System.out.println("This is always executed, whether exception occurs or not.");
}
}
}
আউটপুট:
Error: Division by zero is not allowed.
This is always executed, whether exception occurs or not.
Example 2: Try with Resources
import java.io.*;
public class TryWithResources {
public static void main(String[] args) {
try (FileReader fr = new FileReader("file.txt")) {
// Code to read from file
} catch (IOException e) {
System.out.println("File not found: " + e.getMessage());
} finally {
System.out.println("This is the finally block, executing cleanup actions.");
}
}
}
- এখানে
tryব্লকটিFileReaderব্যবহার করছে এবং এর পরে যদি কোনোIOExceptionঘটে তবে তাcatchব্লক দ্বারা ধরা হবে।finallyব্লকটি রিসোর্সগুলি পরিষ্কার করবে। - Try: কোড ব্লক যেখানে এক্সসেপশন ঘটতে পারে।
- Catch:
tryব্লকের এক্সসেপশন ধরা এবং তা হ্যান্ডেল করার জন্য ব্যবহৃত হয়। - Finally: এক্সসেপশন ঘটুক বা না ঘটুক, এটি সর্বদা কার্যকর হবে, এবং সাধারণত রিসোর্স ক্লোজ বা পরিষ্কার করতে ব্যবহৃত হয়।
এই তিনটি ব্লক একত্রে ব্যবহার করার মাধ্যমে আপনি Java প্রোগ্রামে এক্সসেপশনগুলিকে সঠিকভাবে হ্যান্ডেল করতে পারেন এবং সফটওয়্যারটির স্থিতিশীলতা ও পারফরম্যান্স উন্নত করতে পারেন।
Content added By
Read more