set_exception_handler ක්‍රියාකාරිත්වය

set_exception_handler ක්‍රියාකාරිත්වය හසු නොකළ ව්‍යතිරේක හැසිරවීම සඳහා කැඳවනු ලබන කාර්යයක් නිර්වචනය කිරීමට ඉඩ සලසයි. පරාමිතියක් ලෙස හසුරුවන්න කාර්යයේ නම හෝ නිර්නාමික කාර්යයක් ලබා දේ. හසුරුවන්නට පරාමිතියක් ලෙස ව්‍යතිරේක වස්තුව ලැබේ.

වාක්‍ය රචනය

phpset_exception_handler(callable $exception_handler): callable

උදාහරණය

සරල ව්‍යතිරේක හසුරුවන්නක් සකසමු:

php<?php
  function myExceptionHandler($exception) {
    echo 'හසු කළ ව්‍යතිරේකය: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('යමක් වැරදී ගියා!');
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

php'හසු කළ ව්‍යතිරේකය: යමක් වැරදී ගියා!'

උදාහරණය

හසුරුවන්නක් ලෙස නිර්නාමික කාර්යයක් භාවිතා කිරීම:

php<?php
  set_exception_handler(function($exception) {
    echo 'දෝෂය: ' . $exception->getMessage();
  });
  
  throw new Exception('මූලික දෝෂය');
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

php'දෝෂය: මූලික දෝෂය'

උදාහරණය

පෙර හසුරුවන්න ප්‍රතිස්ථාපනය කිරීම:

php<?php
  function firstHandler($exception) {
    echo 'පළමු හසුරුවන්න: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'දෙවන හසුරුවන්න: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // firstHandler ප්‍රතිස්ථාපනය කරයි
  
  throw new Exception('පරීක්ෂණය');
?>

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

php'පළමු හසුරුවන්න: පරීක්ෂණය'