PHP异常处理
Posted seabiscuit0922
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP异常处理相关的知识,希望对你有一定的参考价值。
一、异常处理——可以有效地控制多条出现错误或异常的代码
- 基本语法如下:
try{ //可能出现异常的代码 } catch(Exception $e){ //对异常处理 //1、自己处理 //2、不作处理,继续抛出 }
Exception 是php内置的异常处理类
- 示例
<?php function addUser($name){ if($name=="abc"){ echo "添加成功!"; }else{ //抛出异常 throw new Exception("添加失败!"); } } function updateUser($name){ if($name=="abc"){ echo "修改成功!"; }else{ //抛出异常 throw new Exception("修改失败!"); } } try{ addUser("abc"); updateUser("Ben"); } //捕获异常 catch(Exception $e){ echo "失败信息:".$e->getMessage();
//throw $e; //捕获后也可以继续抛出 } ?>
运行结果如下:
二、顶层异常处理——捕获没有被catch的异常
- 基本用法如下:
<?php function myException($exception){ echo "异常信息:".$exception->getMessage(); } set_exception_handler("myException"); throw new Exception("没有捕获的异常"); ?>
- 示例
1 <?php 2 //自定义一个顶级异常处理函数 3 function myException($exception){ 4 echo "异常信息:".$exception->getMessage(); 5 } 6 //修改默认的顶级异常处理函数(器) 7 set_exception_handler("myException"); 8 9 function a($age){ 10 if($age>100) 11 throw new Exception("年龄过大!"); 12 } 13 14 a(120); 15 ?>
结果:
三、总结:如果抛出了异常,就必须捕获它,或者使用顶级异常处理器处理。
以上是关于PHP异常处理的主要内容,如果未能解决你的问题,请参考以下文章