Heim >php教程 >php手册 >php异常处理技术,顶级异常处理器

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

WBOY
WBOYOriginal
2016-06-13 11:59:491130Durchsuche

定义顶级异常处理器用到的函数是
set_exception_handler("My_exception");
这里的My_expection是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则由系统默认的异常处理器来处理异常

举例说明:

复制代码 代码如下:


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异常处理 的一个问题

复制代码 代码如下:


try {
$a=10/0;
}catch (Exception $e){
echo "抛出异常";
}
?>


以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in......

说明:try块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理

所以能不能捕获到异常,取决于有没有真正的抛出异常
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn