परिचय
अपवाद वर्ग लागू करता है फेंकने योग्य इंटरफ़ेस और सभी के लिए आधार वर्ग है अपवाद कक्षाएं, पूर्वनिर्धारित अपवाद और साथ ही उपयोगकर्ता परिभाषित अपवाद। अपवाद वर्ग थ्रोएबल इंटरफ़ेस से लागू करने के लिए कुछ अंतिम (गैर-अत्यधिक) विधियों को परिभाषित करता है, और __tostring() विधि जिसे अपवाद वस्तु के एक स्ट्रिंग प्रतिनिधित्व को वापस करने के लिए ओवरराइड किया जा सकता है।
अंतिम सार्वजनिक समारोह getMessage() | अपवाद का संदेश |
अंतिम सार्वजनिक समारोह getCode() | अपवाद का कोड |
अंतिम सार्वजनिक समारोह getFile() | स्रोत फ़ाइल नाम |
अंतिम सार्वजनिक समारोह getLine() | स्रोत लाइन |
अंतिम सार्वजनिक समारोह getTrace() | बैकट्रेस की एक सरणी () |
अंतिम सार्वजनिक समारोह getPrevious() | पिछला अपवाद |
अंतिम सार्वजनिक समारोह getTraceAsString() | ट्रेस की स्वरूपित स्ट्रिंग |
सार्वजनिक समारोह __toString() | प्रदर्शन के लिए स्वरूपित स्ट्रिंग |
यदि उपयोगकर्ता परिभाषित अपवाद वर्ग कंस्ट्रक्टर को फिर से परिभाषित करता है, तो उसे माता-पिता ::__ निर्माण () को कॉल करना चाहिए यह सुनिश्चित करने के लिए कि सभी उपलब्ध डेटा ठीक से असाइन किए गए हैं।
उदाहरण
निम्नलिखित स्क्रिप्ट myException नामक एक कस्टम अपवाद वर्ग को परिभाषित करती है . इस प्रकार का अपवाद फेंक दिया जाता है यदि $num का मान 0 से कम या 100 से अधिक है। getMessage() अपवाद वर्ग की विधि त्रुटि संदेश लौटाती है और getLine() विधि कोड की लाइन लौटाती है जिसमें अपवाद प्रकट होता है
उदाहरण
<?php class myException extends Exception{ function message(){ return "error : " . $this->getMessage() . " in line no " . $this->getLine(); } } $num=125; try{ if ($num>100 || $num<0) throw new myException("$num is invalid number"); else echo "$num is a valid number"; } catch (myException $m){ echo $m->message(); } ?>
आउटपुट
त्रुटि संदेश और वैध संख्या का संदेश प्राप्त करने के लिए ऊपर दिए गए कोड को $num=125 और $num=90 के साथ चलाएं
error : 125 is invalid number in line no 10