जावा 9 में, JShell एक तेज़ और अनुकूल वातावरण प्रदान करता है जो हमें जावा भाषा सुविधाओं और व्यापक लाइब्रेरी का त्वरित पता लगाने, खोज करने और प्रयोग करने में सक्षम बनाता है।
JShell में, मैन्युअल रूप से एक्सेप्शन पकड़ने की आवश्यकता नहीं है। JShell स्वचालित रूप से प्रत्येक एक्सेप्शन को पकड़ता है और उसके बारे में जानकारी प्रदर्शित करता है, फिर अगला JShell प्रॉम्प्ट प्रदर्शित करता है ताकि हम अपना सत्र जारी रख सकें। यह अनचेक्ड एक्सेप्शन के लिए भी काम करता है। चेक्ड और अनचेक्ड दोनों एक्सेप्शन को स्वचालित रूप से पकड़कर, JShell हमारे लिए उन मेथड के साथ प्रयोग करना आसान बनाता है जो चेक्ड एक्सेप्शन फेंकते हैं।
उदाहरण-1: ArrayIndexOutOfBoundsException
नीचे दिए गए उदाहरण में, ArrayIndexOutOfBoundsException हुआ है क्योंकि "values[4]" का मान नहीं मिला।
jshell> int[] values = {10, 20, 30} values ==> int[3] { 10, 20, 30 } jshell> values[4] | java.lang.ArrayIndexOutOfBoundsException thrown: 4 | at (#7:1)
उदाहरण-2: FileNotFoundException
नीचे दिए गए उदाहरण में, 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)
उदाहरण-3: ArithmeticException
नीचे दिए गए उदाहरण में, ArithmeticException (अनचेक्ड एक्सेप्शन) हुआ है क्योंकि "1/0" का मान अपरिभाषित है।
jshell> 1/0 | java.lang.ArithmeticException thrown: / by zero | at (#4:1)