পরিচয়
ব্যতিক্রম শ্রেণীর প্রয়োগ নিক্ষেপযোগ্য ইন্টারফেস এবং সকলের জন্য বেস ক্লাস ব্যতিক্রম ক্লাস, পূর্বনির্ধারিত ব্যতিক্রমের পাশাপাশি ব্যবহারকারী সংজ্ঞায়িত ব্যতিক্রম। ব্যতিক্রম ক্লাস থ্রোয়েবল ইন্টারফেস এবং __tostring() থেকে প্রয়োগ করার জন্য কিছু চূড়ান্ত (অ-ওভাররিডেবল) পদ্ধতি সংজ্ঞায়িত করে ব্যতিক্রম বস্তুর একটি স্ট্রিং উপস্থাপনা ফেরাতে ওভাররাইড করা যেতে পারে এমন পদ্ধতি।
চূড়ান্ত পাবলিক ফাংশন getMessage() | ব্যতিক্রমের বার্তা |
চূড়ান্ত পাবলিক ফাংশন getCode() | ব্যতিক্রম কোড |
চূড়ান্ত পাবলিক ফাংশন getFile() | উৎস ফাইলের নাম |
চূড়ান্ত পাবলিক ফাংশন getLine() | উৎস লাইন |
চূড়ান্ত পাবলিক ফাংশন getTrace() | ব্যাকট্রেস() | এর একটি অ্যারে
চূড়ান্ত পাবলিক ফাংশন getPrevious() | আগের ব্যতিক্রম |
চূড়ান্ত পাবলিক ফাংশন getTraceAsString() | ট্রেসের ফর্ম্যাট করা স্ট্রিং |
পাবলিক ফাংশন __toString() | প্রদর্শনের জন্য বিন্যাসিত স্ট্রিং |
যদি ব্যবহারকারী সংজ্ঞায়িত ব্যতিক্রম ক্লাস কনস্ট্রাক্টরকে পুনরায় সংজ্ঞায়িত করে, তাহলে এটিকে কল করা উচিত parent::__construct() সমস্ত উপলব্ধ ডেটা সঠিকভাবে বরাদ্দ করা হয়েছে তা নিশ্চিত করতে।
উদাহরণ
নিম্নলিখিত স্ক্রিপ্ট 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