您的位置:首页 > 编程语言 > PHP开发

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();
}
}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: