php

جلسه ۵۹: بررسی استثناها قسمت ۳ در 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
?>

جای خطوط بیست و بیست و یک را عوض کنید تا ببینید در این صورت چه استثنایی گرفته می شود. به پایان بحث بررسی استثناها رسیده ایم. اکنون می توانید ناهنجاری های زمان اجرا یا شرایط غیرعادی که در حین اجرای برنامه اتفاق می افتند را کنترل کنید. بیایید تا در بخش بعدی به چند سوال کوتاه پاسخ دهیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا