जावा अपवाद - कोशिश करें...पकड़ें
जावा अपवाद
जावा कोड निष्पादित करते समय, विभिन्न त्रुटियां हो सकती हैं: प्रोग्रामर द्वारा की गई कोडिंग त्रुटियां, गलत इनपुट के कारण त्रुटियां, या अन्य अप्रत्याशित चीजें।
जब कोई त्रुटि होती है, तो जावा सामान्य रूप से रुक जाएगा और एक त्रुटि संदेश उत्पन्न करेगा। इसके लिए तकनीकी शब्द है: जावा एक अपवाद (त्रुटि फेंक) देगा।
जावा कोशिश करो और पकड़ो
यह try
कथन आपको कोड के एक ब्लॉक को परिभाषित करने की अनुमति देता है जिसे निष्पादित करते समय त्रुटियों के लिए परीक्षण किया जाना है।
catch
यदि प्रयास ब्लॉक में कोई त्रुटि होती है, तो कथन आपको निष्पादित किए जाने वाले कोड के ब्लॉक को परिभाषित करने की अनुमति देता है ।
और कीवर्ड जोड़े में आते हैं try
:catch
वाक्य - विन्यास
try {
// Block of code to try
}
catch(Exception e) {
// Block of code to handle errors
}
निम्नलिखित उदाहरण पर विचार करें:
यह एक त्रुटि उत्पन्न करेगा, क्योंकि myNumbers[10] मौजूद नहीं है।
public class Main {
public static void main(String[ ] args) {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // error!
}
}
आउटपुट कुछ इस तरह होगा:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Main.main(Main.java:4)
यदि कोई त्रुटि होती है, तो हम try...catch
त्रुटि को पकड़ने और इसे संभालने के लिए कुछ कोड निष्पादित करने के लिए उपयोग कर सकते हैं:
उदाहरण
public class Main {
public static void main(String[ ] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
}
}
}
आउटपुट होगा:
Something went wrong.
आखिरकार
finally
कथन आपको परिणाम की परवाह किए बिना, बाद में कोड निष्पादित करने देता है try...catch
:
उदाहरण
public class Main {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]);
} catch (Exception e) {
System.out.println("Something went wrong.");
} finally {
System.out.println("The 'try catch' is finished.");
}
}
}
आउटपुट होगा:
Something went wrong.
The 'try catch' is finished.
थ्रो कीवर्ड
throw
कथन आपको एक कस्टम त्रुटि बनाने की अनुमति देता है ।
कथन का उपयोग अपवाद प्रकारthrow
के साथ किया जाता है । जावा में कई अपवाद प्रकार उपलब्ध हैं: ,
, , , आदि:ArithmeticException
FileNotFoundException
ArrayIndexOutOfBoundsException
SecurityException
उदाहरण
यदि आयु 18 वर्ष से कम है तो अपवाद फेंक दें (प्रिंट "प्रवेश निषेध")। यदि आयु 18 वर्ष या अधिक है, तो "प्रवेश प्रदान किया गया" प्रिंट करें:
public class Main {
static void checkAge(int age) {
if (age < 18) {
throw new ArithmeticException("Access denied - You must be at least 18 years old.");
}
else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
checkAge(15); // Set age to 15 (which is below 18...)
}
}
आउटपुट होगा:
Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
at Main.checkAge(Main.java:4)
at Main.main(Main.java:12)
यदि आयु 20 वर्ष थी, तो आपको अपवाद नहीं मिलेगा:
उदाहरण
checkAge(20);
आउटपुट होगा:
Access granted - You are old enough!