php异常处理笔记
2016-03-23 14:18
567 查看
<?php //我们使用异常机制来处理 try{ addUser("shunping"); updateUser("xxx"); } //catch捕获 Exception 是异常类(是php定义好的类) catch(Exception $e){ echo '失败信息:'.$e->getMessage(); } function addUser($username){ if($username=="shunping"){ //添加ok }else{ throw new Exception("添加失败"); } } function updateUser($name){ if($name=="xiaoming"){ //正常修改 }else{ throw new Exception("修改失败"); } } ?>
用 try catch 可以更有效的控制错误,所以在开发中大量的使用
php默认异常处理器
set_exception_handler(message);
<?php
//定义一个顶级异常处理器
function myException($e){
echo "我是顶级异常处理器".$e->getMessage()."--".$e->getCode();
}
set_exception_handler("myException");
function a1($val){
if($val>100){
throw new Exception("val<100");
}
}
function a2($val){
if($val=="hello"){
throw new Exception("不要输入hello");
}
}
try {
a2("hello");
} catch (Exception $e) {
//捕获.
//error_log($e->getMessage(),3,"d:/error.txt");
//可以继续抛出
throw $e;
}
?>
自定义异常类
class MyException extends Exception{
//代码
}
<?php
//定义了一个异常
class MyException1 extends Exception{
}
class MyException2 extends Exception{
}
function A(){
throw new MyException1("异常1");
}
function B(){
throw new MyException2("异常2");
}
function C(){
try{
A();
B();
}catch(MyException1 $e1){
$e1->getMessage();
}catch(MyException2 $e2){
$e2->getMessage();
}
}
?>
相关文章推荐
- PHP检测用户名是否存在
- php-fpm配置优化
- (备忘)php中json格式的空对象
- PHP Switch 语句
- PHP登录session验证实例
- PHP 标记解析
- hibernate 3.2.3 setParameterList bug
- PHP错误提示解决方案
- phpstorm 10 修改背景图片和字体
- PHP学习笔记 -- 面向对象的核心概念
- PHP中htmlentities跟htmlspecialchars的区别
- Windows下PHP环境搭建
- php扩展开发2--添加类
- TP学习笔记一(tp的目录结构 , tp的输出方式)
- PHP 简介
- window下php.ini文件配置详解
- ThinkPHP静态缓存简单配置和使用方法详解
- ThinkPHP3.2加载TabLib异常
- php isset — 检测变量是否设置
- Maximum function nesting level of '100' reached, aborting!--漫谈递归:PHP里的尾递归及其优化