加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php异常处理技术,顶级异常处理器

发布时间:2020-05-24 17:48:57 所属栏目:PHP 来源:互联网
导读:php对异常的处理与java一样,用到的是try{}catch(){}

定义顶级异常处理器用到的函数是
set_exception_handler("My_exception");
这里的My_expection是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则由系统默认的异常处理器来处理异常 举例说明:
<div class="codetitle"><a style="CURSOR: pointer" data="18482" class="copybut" id="copybut18482" onclick="doCopy('code18482')"> 代码如下:<div class="codebody" id="code18482">
<?php
set_exception_handler("My_expection");
function My_expection(){
echo "这里是顶级异常处理器";
}
try{
nohello("hello");
}catch(Exception $e){
throw $e;
}
  function nohello($nohello){
   if($nohello == "hello"){
   throw new Exception("不能输入hello");
   }else{
echo "输入成功";
}
}
?>

关于PHP异常处理 的一个问题
<div class="codetitle"><a style="CURSOR: pointer" data="10196" class="copybut" id="copybut10196" onclick="doCopy('code10196')"> 代码如下:<div class="codebody" id="code10196">
<?php
try {
$a=10/0;
}catch (Exception $e){
echo "抛出异常";
}
?>

以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in...... 说明:try块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理 所以能不能捕获到异常,取决于有没有真正的抛出异常

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读