set_exception_handler

(PHP 5, PHP 7)

set_exception_handler 锟斤拷锟斤拷锟矫伙拷锟皆讹拷锟斤拷锟斤拷斐o拷锟斤拷锟斤拷锟�

说锟斤拷

set_exception_handler ( callable $exception_handler ) : callable

锟斤拷锟斤拷默锟较碉拷锟届常锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟� try/catch 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷斐o拷锟� 锟斤拷 exception_handler 锟斤拷锟矫猴拷锟届常锟斤拷锟斤拷止锟斤拷

锟斤拷锟斤拷

exception_handler

锟斤拷一锟斤拷未锟斤拷锟斤拷锟斤拷斐o拷锟斤拷锟绞憋拷锟斤拷锟斤拷煤锟斤拷锟斤拷锟斤拷锟斤拷啤锟� 锟矫达拷锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟矫诧拷锟斤拷锟斤拷一锟斤拷锟阶筹拷锟斤拷锟届常锟斤拷锟斤拷 PHP 7 锟斤拷前锟斤拷锟届常锟斤拷锟斤拷锟斤拷锟角╋拷锟斤拷锟�

handler ( Exception $ex ) : void

锟斤拷 PHP 7 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷壮锟� Error 锟届常锟斤拷也锟杰憋拷锟斤拷锟斤拷 Error 锟斤拷 Exception 锟斤拷实锟斤拷锟斤拷 Throwable 锟接口★拷 PHP 7 锟金,达拷锟斤拷锟斤拷锟斤拷签锟斤拷锟斤拷

handler ( Throwable $ex ) : void

也锟斤拷锟皆达拷锟斤拷 NULL 值锟斤拷锟斤拷锟斤拷锟斤拷锟届常锟斤拷锟斤拷锟斤拷为默锟斤拷值锟斤拷

Caution

注锟解,锟斤拷锟斤拷锟斤拷没锟斤拷氐锟斤拷锝� ex 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷确约锟斤拷为Exception锟斤拷 PHP 7 锟斤拷锟斤拷锟斤拷锟届常锟斤拷锟酵的变化锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷狻�

锟斤拷锟斤拷值

锟斤拷锟斤拷之前锟斤拷锟斤拷锟斤拷斐o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷疲锟斤拷锟斤拷锟斤拷诖锟斤拷锟绞憋拷锟斤拷锟� NULL锟斤拷 锟斤拷锟街懊伙拷卸锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭诧拷岱碉拷锟� NULL锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.0.0 锟斤拷锟斤拷 exception_handler 锟侥诧拷锟斤拷锟斤拷 Exception 锟斤拷为 Throwable
5.5.0 之前锟芥本锟斤,锟斤拷锟斤拷锟斤拷锟� NULL 锟斤拷锟斤拷锟斤拷锟结返锟斤拷 TRUE锟斤拷 锟斤拷 PHP 5.5.0 锟襟,会返锟斤拷锟斤拷一锟轿碉拷锟届常锟斤拷锟斤拷锟斤拷锟斤拷

锟斤拷锟斤拷

Example #1 set_exception_handler() 锟斤拷锟斤拷

<?php
function exception_handler($exception) {
  echo 
"Uncaught exception: " $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new 
Exception('Uncaught Exception');
echo 
"Not Executed\n";
?>

锟轿硷拷