জাভা ৯-এ জেশেল (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" অনির্ধারিত হওয়ায় এক্সসেপশন হয়েছে।