Exception ऑब्जेक्ट
कई बार कोई कोड कई exceptions फेंक सकता है. इस स्थिति से निपटने का एक तरीका है कि सभी exceptions को try-catch करें और फिर समस्या क्या हुई है यह जानने और डिबग करने के लिए Exception ऑब्जेक्ट से मिली जानकारी को आउटपुट करें.
यहाँ, आप SplitTheBill एप्लिकेशन को फिर से संशोधित करेंगे ताकि एक जनरल Exception को catch किया जा सके और समस्या के कारण को समझने के लिए Exception ऑब्जेक्ट के डेटा का उपयोग किया जा सके. Exception ऑब्जेक्ट्स में बहुत-सी उपयोगी जानकारी होती है, जिनमें समस्या तक ले जाने वाले methods का trace भी शामिल है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Java में डेटा टाइप्स और Exceptions
अभ्यास निर्देश
- catch ब्लॉक में, किसी भी
Exceptionकोcatch (Exception e)का उपयोग करके कैप्चर करें. - पकड़ी गई exception के टाइप (class) को दिखाने के लिए catch ब्लॉक में
Exceptionऑब्जेक्ट रेफ़रेंस (e) औरgetClass()मेथड का उपयोग करें. - exception का संदेश प्रिंट करने के लिए
Exceptionऑब्जेक्ट रेफ़रेंस (e) औरgetMessage()मेथड का उपयोग करें. - आउटपुट स्ट्रीम पर "stack trace" प्रिंट करने के लिए
Exceptionऑब्जेक्ट रेफ़रेंस (e) औरprintStackTrace()मेथड का उपयोग करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
class SplitTheBill {
public static void main(String[] args) {
BigDecimal bill = new BigDecimal(125.50);
computeEachBill(bill, 5);
computeEachBill(bill, 0);
}
public static void computeEachBill(BigDecimal bill, int people) {
try {
BigDecimal numPeople = new BigDecimal(people);
BigDecimal individualBill = bill.divide(numPeople);
System.out.println("Bill for each person is: " + individualBill);
// Catch any exception
} catch (____ ____) {
System.out.println("You didn't provide a positive number of people to split the bill among.");
// Print the type (class) of exception
System.out.println("Type of exception: " + ____.____());
// Print the exception message
System.out.println(____.____());
// Print the stack trace
____.____();
}
}
}