What is an exception?
एक Exception एक unwanted event है जो program के normal flow को interrupts करता है। जब कोई Exception होता है तो program execution terminate हो जाता है। ऐसे मामलों में हमें एक system generated error message मिलता है। exceptions के बारे में अच्छी बात यह है कि उन्हें java में handle किया जा सकता है। exceptions को संभालकर हम system generated message के बजाय समस्या के बारे में users को एक meaningful message provide कर सकते हैं, जो कि user के लिए समझ में नहीं आ सकता है।
Why an exception occurs?
Several reasons हो सकते हैं जो exception को throw के लिए एक program का cause बन सकते हैं। example के लिए: अपने program में एक non-existing file Open, Network connection problem, user द्वारा provide किए गए bad input data आदि।
Exception Handling:
यदि कोई exception होता है, जिसे programmer द्वारा handled नहीं किया गया है, तो program execution समाप्त हो जाता है और system generate किया गया error message user को दिखाया जाता है।
Advantage of exception handling:
Exception handling ensure करता है कि exception होने पर program का flow नहीं टूटता। example के लिए, यदि किसी program में statements का bunch होता है और कुछ statements को execute करने के बाद exception होता है, तो exception के बाद के statements को execute नहीं किया जाएगा और program अचानक terminate हो जाएगा।
संभाल कर हम सुनिश्चित करते हैं कि सभी statements पर execute हो और program break न हो।
Difference between error and exception:
Errors से indication मिलता है कि कुछ गंभीर रूप से wrong हो गया है, error को handle करने की try करने के बजाय application को crash होना चाहिए।
Exceptions code में होने वाली events हैं। एक programmer ऐसी conditions को handle किया सकता है और necessary corrective action कर सकता है। कुछ उदाहरण:
NullPointerException – जब आप एक reference का use करने का try करते हैं जो null करने के लिए point करता है।
ArithmeticException – जब users द्वारा bad data provide किया जाता है, Example के लिए, जब आप किसी number को zero से divide करने का try करते हैं तो यह exception तब होता है क्योंकि किसी number को zero से divide करना undefined होता है।
ArrayIndexOutOfBoundsException – जब आप किसी array के elements को उसके bounds से बाहर जाने का try करते हैं, Example के लिए array size 5 (जिसका अर्थ है कि इसमें पांच element हैं) और आप 10 वें element तक access का करने try कर रहे हैं।
Types of exceptions:
There are two types of exceptions in Java:
- Checked exceptions
- Unchecked exceptions
1. Checked exceptions:
Runtime Exceptions के अलावा अन्य सभी exceptions को check किए गए exceptions के रूप में जाना जाता है क्योंकि compiler compilation के दौरान उन्हें देखता है कि programmer ने उन्हें handle किया है या नहीं। यदि इन exceptions को program में handled/declared नहीं किया जाता है, तो आपको compilation error मिलेगी।Example के लिए, SQLException, IOException, ClassNotFoundException आदि।
2. Unchecked exceptions:
Runtime Exceptions को Unchecked Exceptions के रूप में भी जाना जाता है। इन exceptions को compile-time पर check नहीं किया जाता है, इसलिए compiler यह check नहीं करता है कि programmer ने उन्हें संभाला है या नहीं, लेकिन programmer की responsibility है कि वह इन exceptions को संभालें और एक safe exit provide करें। उदाहरण के लिए, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException आदि।