جلسه ۵۹: بررسی استثناها قسمت ۳ در php

استثناهای سفارشی
در PHP
استثناهای سفارشی خودرا ایجاد کنید که متناسب با برنامه خودتان باشد. سرفصل مباحث این جلسه به شرح زیر می باشد:
- تعریف استثناهای سفارشی
- کد نمونه برای استثناهای سفارشی
تعریف استثناهای سفارشی
PHP
قابلیت ایجاد کنترل کننده های استثناهای سفارشی را فراهم کرده و به شما این امکان را می دهد که برای هر نوع استثنا یک بلوک استثنا جداگانه تعیین و تعریف کنید. کلاس باید یک حالت بسط یافته از کلاس داخلی استثنا باشد چرا که این کلاس، کلاس اولیه یا والد است. کلاس استثناهای سفارشی تمامی اشیا، ویژگی ها و متدهای کلاس اولیه را به ارث می برد. همچنین شما می توانید اشیا سفارشی خود را به آن اضافه کنید.
کد نمونه برای استثناهای سفارشی
در ادامه مثالی از کلاس استثناهای سفارشی آورده ایم:
<?php
class DecelerationException extends Exception{} //DecelerationException inherits Exception
class TimeException extends Exception{} //TimeException inherits Exception
function acceleration($finalSpeed,$initialSpeed,$time){
if($time <= 0){ throw new TimeException('Time cannot be negative or zero.'); // Throw exception if time is negative or zero } if($initialSpeed > $finalSpeed){
throw new DecelerationException('It is deceleration.'); // Throw exception if initial speed is greater than final speed
}
else{
$a = ($finalSpeed-$initialSpeed)/$time;
echo "($finalSpeed-$initialSpeed)/$time = $a";
}
}
try{
acceleration(20,10, 2);
acceleration(30,10, -4); //code will stop execution at this point and start finding the catch block
acceleration(15,20, 5); //$initialSpeed>$finalSpeed
echo 'All calculations done!';// If an exception is thrown, this line will not execute
}
catch(DecelerationException $e){
echo "\n". "Caught deceleration exception: " . $e->getMessage(); //Exception handling
}
catch(TimeException $e){
echo "\n". "Caught time exception: " . $e->getMessage(); //Exception handling
}
echo "\n"."Hello World!"; // Continue execution
?>
جای خطوط بیست و بیست و یک را عوض کنید تا ببینید در این صورت چه استثنایی گرفته می شود. به پایان بحث بررسی استثناها رسیده ایم. اکنون می توانید ناهنجاری های زمان اجرا یا شرایط غیرعادی که در حین اجرای برنامه اتفاق می افتند را کنترل کنید. بیایید تا در بخش بعدی به چند سوال کوتاه پاسخ دهیم.