getCause() मेथड Throwable क्लास से है और हम इस मेथड का उपयोग कर सकते हैं जो अपवाद का कारण लौटाता है या नल लौटाता है यदि अपवाद का कारण ज्ञात नहीं है। getCause() मेथड कोई आर्गुमेंट स्वीकार नहीं करता और कोई अपवाद नहीं फेंकता। यह उस कारण को लौटाता है जो इसके कंस्ट्रक्टर्स में से एक द्वारा प्रदान किया गया था या Throwable क्लास के initCause() मेथड द्वारा निर्धारित किया गया था।
सिंटैक्स
public Throwable getCause()
उदाहरण
public class GetCauseMethodTest { public static void main(String[] args) throws Exception { try { myException(); } catch(Exception e) { System.out.println("Cause = " + e.getCause()); } } public static void myException() throws Exception { int arr[] = {1, 3, 5}; try { System.out.println(arr[8]); } catch(ArrayIndexOutOfBoundsException aiobe) { Exception e = new Exception(); throw(Exception); // मेन() में कैच ब्लॉक द्वारा पकड़े जाने के लिए अपवाद फेंकना e.initCause(aiobe); // getCause() को कारण सप्लाई करता है } } }आउटपुट
Cause = java.lang.ArrayIndexOutOfBoundsException: 8