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'ပထမကိုင်တွယ်ရေးလုပ်ဆောင်ချက်: စမ်းသပ်မှု'