কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ জেশেলে এক্সসেপশন হ্যান্ডলিং

জাভা ৯-এ জেশেল (JShell) একটি দ্রুত ও বান্ধব পরিবেশ প্রদান করে যা জাভা ল্যাঙ্গুয়েজ ফিচার ও লাইব্রেরি দ্রুত এক্সপ্লোর, ডিসকভার ও এক্সপেরিমেন্ট করতে সক্ষম করে।

জেশেলে এক্সসেপশন ম্যানুয়ালি ক্যাচ করার প্রয়োজন নেই। জেশেল স্বয়ংক্রিয়ভাবে প্রতিটি এক্সসেপশন ক্যাচ করে এবং তার তথ্য প্রদর্শন করে, এরপর পরবর্তী জেশেল প্রম্পট দেখায় যাতে সেশন চালু রাখা যায়। এটি আনচেকড এক্সসেপশন-ও কাজ করে। চেকড ও আনচেকড দুটো টাইপের এক্সসেপশন স্বয়ংক্রিয়ভাবে ক্যাচ করে জেশেল চেকড এক্সসেপশন থ্রো করা মেথডগুলোতে এক্সপেরিমেন্ট করা সহজ করে দিয়েছে।

উদাহরণ ১: ArrayIndexOutOfBoundsException

jshell> int[] values = {10, 20, 30}
values ==> int[3] { 10, 20, 30 }
jshell> values[4]
|   java.lang.ArrayIndexOutOfBoundsException thrown: 4
|        at (#7:1)

"values[4]" পাওয়া যাইনি বলে এক্সসেপশন হয়েছে।

উদাহরণ ২: FileNotFoundException (চেকড এক্সসেপশন)

jshell> FileInputStream fis = new FileInputStream("data.txt")
| java.io.FileNotFoundException thrown: data.txt (The system cannot find the file specified)
|      at FileInputStream.open0 (Native Method)
|      at FileInputStream.open (FileInputStream.java:196)
|      at FileInputStream. (FileInputStream.java:139)
|      at FileInputStream. (FileInputStream.java:94)
|      at (#5:1)

ফাইল ডিরেক্টরিতে নাই বলে এক্সসেপশন হয়েছে।

উদাহরণ ৩: ArithmeticException (আনচেকড এক্সসেপশন)

jshell> 1/0
|  java.lang.ArithmeticException thrown: / by zero
|       at (#4:1)

"1/0" অনির্ধারিত হওয়ায় এক্সসেপশন হয়েছে।

  1. জাভাতে UncaughtExceptionHandler ব্যবহার করে এক্সেপশন কীভাবে হ্যান্ডেল করবেন?

  2. জাভাতে এক্সেপশন কীভাবে রি-থ্রো (rethrow) করবেন?

  3. জাভাতে Runtime Exception কীভাবে হ্যান্ডেল করবেন?

  4. জাভা এক্সেপশন হ্যান্ডলিং মাস্টার করুন: সম्पূর্ণ গাইড