परिचय
PHP 7 में, Throwable इंटरफेस किसी भी ऑब्जेक्ट के लिए बेस के रूप में कार्य करता है जिसे throw स्टेटमेंट का पैरामीटर बनाया जा सकता है, जिसमें Error और Exception शामिल हैं। दोनों Error और Exception क्लास, जिनसे पूर्वनिर्धारित और यूजर-डिफाइंड एरर और एक्सेप्शन क्लास प्राप्त होती हैं, Throwable इंटरफेस को इम्प्लीमेंट करती हैं। Throwable इंटरफेस में निम्न एब्स्ट्रैक्ट मेथड परिभाषित हैं:
सिंटैक्स
Throwable {
/* Methods */
abstract public getMessage ( void ) : string
abstract public getCode ( void ) : int
abstract public getFile ( void ) : string
abstract public getLine ( void ) : int
abstract public getTrace ( void ) : array
abstract public getTraceAsString ( void ) : string
abstract public getPrevious ( void ) : Throwable
abstract public __toString ( void ) : string
}
मेथड्स
- getMessage() - फेंके गए ऑब्जेक्ट से जुड़ा संदेश लौटाता है।
- getCode() - फेंके गए ऑब्जेक्ट से जुड़ा एरर कोड लौटाता है।
- getFile() - उस फ़ाइल का नाम प्राप्त करता है जिसमें फेंका गया ऑब्जेक्ट बनाया गया था।
- getLine() - वह लाइन नंबर लौटाता है जहां फेंका गया ऑब्जेक्ट इंस्टेंटिएट हुआ था।
- getTrace() - स्टैक ट्रेस को सरणी के रूप में लौटाता है।
- getTraceAsString() - स्टैक ट्रेस को स्ट्रिंग के रूप में लौटाता है।
- getPrevious() - पिछला Throwable लौटाता है (Exception::__construct() के तीसरे पैरामीटर के रूप में प्रदान किया गया)।
- __toString() - फेंके गए ऑब्जेक्ट का स्ट्रिंग प्रतिनिधित्व प्राप्त करता है।
महत्वपूर्ण: PHP 7 से पहले, केवल Exception क्लास मौजूद थी। PHP 7 ने Error क्लास पेश की, और दोनों अब Throwable को इम्प्लीमेंट करते हैं। इससे दोनों को एक ही catch ब्लॉक में पकड़ा जा सकता है:
try { ... } catch (Throwable $e) { ... }