परिचय
PHP का अपवाद वर्ग थ्रोबल . को लागू करता है इंटरफेस। त्रुटि अपवाद वर्ग अपवाद का विस्तार करता है कक्षा। ErrorException का मतलब स्पष्ट रूप से फेंका जाना है जब आप उन त्रुटियों को पकड़ना और संभालना चाहते हैं जिन्हें अन्यथा अनदेखा किया जाएगा, जैसे नोटिस या चेतावनियां।
PHP कोर में निम्नलिखित पूर्वनिर्धारित त्रुटि स्थिरांक होते हैं
मान | <वें शैली="पाठ्य-संरेखण:केंद्र;">स्थिरवें>विवरण | |
---|---|---|
1 | E_ERROR | घातक रन-टाइम त्रुटियां। |
2 | ई_चेतावनी | रन-टाइम चेतावनियां (गैर-घातक त्रुटियां)। |
4 | E_PARSE | संकलन-समय पार्स त्रुटियाँ। |
8 | E_NOTICE | रन-टाइम नोटिस। |
16 | E_CORE_ERROR | PHP के आरंभिक स्टार्टअप के दौरान होने वाली घातक त्रुटियां। |
32 | E_CORE_WARNING | चेतावनी (गैर-घातक त्रुटियां) जो PHP के आरंभिक स्टार्टअप के दौरान होती हैं। |
64 | E_COMPILE_ERROR | गंभीर संकलन-समय त्रुटियां। |
128 | E_COMPILE_WARNING | संकलन-समय चेतावनी (गैर-घातक त्रुटियां)। |
256 | E_USER_ERROR | उपयोगकर्ता द्वारा उत्पन्न त्रुटि संदेश। |
512 | E_USER_WARNING | उपयोगकर्ता-जनित चेतावनी संदेश। |
1024 | E_USER_NOTICE | उपयोगकर्ता-जनित नोटिस संदेश। |
2048 | E_STRICT | यदि सक्षम PHP आपके कोड की अंतःसंचालनीयता और आगे की संगतता सुनिश्चित करने के लिए आपके कोड में परिवर्तन का सुझाव देती है। |
4096 | E_RECOVERABLE_ERROR | पकड़ने योग्य घातक त्रुटि। |
8192 | E_DEPRECATED | रन-टाइम नोटिस। |
16384 | E_USER_DEPRECATED | उपयोगकर्ता-जनित चेतावनी संदेश। |
32767 | E_ALL | सभी त्रुटियां और चेतावनियां, E_STRICT |
अपवाद वर्ग से विरासत में मिली संपत्तियों और विधियों के अलावा, त्रुटि अपवाद वर्ग एक संपत्ति और एक विधि का परिचय इस प्रकार है -
protected int severity ; final public getSeverity ( void ) : int
अपवाद की गंभीरता को उपरोक्त तालिका में त्रुटि के प्रकार से जुड़ी पूर्णांक संख्या द्वारा दर्शाया जाता है
त्रुटि अपवाद उदाहरण
निम्नलिखित स्क्रिप्ट में, एक उपयोगकर्ता परिभाषित फ़ंक्शन एरहैंडलर set_error_handler() के साथ त्रुटि हैंडलर के रूप में सेट किया गया है समारोह। यह ErrorException फेंकता है जब फ़ाइल पढ़ने के लिए नहीं मिलने की स्थिति में घातक त्रुटि का सामना करना पड़ता है।
उदाहरण
<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data=file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>
उपरोक्त उदाहरण निम्न आउटपुट प्रदर्शित करता है
आउटपुट
Fatal Error:No such file or directory