php异常处理函数设置方法

8次阅读
没有评论

共计 998 个字符,预计需要花费 3 分钟才能阅读完成。

本文分为

  1. 设置用户自定义的异常处理函数 --set_exception_handler
  2. 设置用户自定义的错误处理函数 --set_error_handler
  3. 题外话 --- 系统错误的捕获

1 用户自定义异常处理函数

使用说明

#set_exception_handler 接受一个回调函数
callable set_exception_handler (callable $exception_handler)

注意
设置默认的异常处理程序,用于没有用 try/catch 块来捕获的异常。在 exception_handler 调用后异常会中止。
set_exception_handler 处理的是没有捕捉到的异常,也就是系统抛出的异常。

例:

<?php
#定义一个异常处理函数
function exception_handler($exception) {# $exception->getMessage()获得的是异常信息
  # 使用此函数,主要用在此处做自定义设置,比如优化显示。echo " 未捕获的异常: " , $exception->getMessage(), "\n";}
#设置用户自定义的异常处理函数为 exception_handler
set_exception_handler('exception_handler');
#手动抛出一个异常,throw new Exception('抛出一个异常');
#注意此处,异常会中断之后的操作,所以下面的操作不会执行
echo " 未执行 \n";
?>

2 设置用户自定义的错误处理函数

set_exception_handler 是用在发生异常时触发,set_error_handler 是用在程序出现 error 时触发。
例如:

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Error on line $errline in $errfile<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 #调用一个未定义的函数时,将触发
 echo $i;
 #输出结果为
 #<b>Custom error:</b> [8] Undefined variable: s<br> Error on line 11 
正文完
 0
admin
版权声明:本站原创文章,由 admin 于2017-09-25发表,共计998字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码