<?php
/*
//如果没有异常,通常的做法是针对某一个函数进行判断的。
//异常是可以一次控制多个函数的异常。
function A(){
//调用方法
//添加用户
$res1=addUser("shunping");
//修改用户
$res2=updateUser("xiaoming");
if($res2&&$res1){
echo "成功!";
}else{
echo "失败!";
}
}
//添加用户的方法
function addUser($username){
if($username=="shunping"){
//添加成功
return true;
}else{
//失败
return false;
}
}
//修改用户
function updateUser($username){
if($username=="xiaoming"){
return true;
}else{
return false;
}
}
A();
*/
###使用异常机制进行处理,当捕获到异常之后,try块中后续代码不被执行。
try{
echo "2222222222";
addUser("shunping");
echo "11111111111";
updateUser("xiaomingss");
echo "333333333333";
//catch捕获异常类
}catch(Exception $e){
echo "失败信息 =".$e->getMessage();
}
function addUser($username){
if($username=="shunping"){
//添加成功
}else{
//添加失败
throw new Exception("添加失败");
}
}
function updateUser($username){
if($username=="xiaoming"){
//更新成功
}else{
//更新失败
throw new Exception("更新失败");
}
}
?>
要点:
1.位于try块儿中的代码,如果其中的一句代码出现问题的话,下面的代码是不会被执行的。
例如:在案例php的异常处理机制中,在try块中的updateUser()方法显然是不能成功执行的,在效果上可以看出333333没有被打印出来。
2.try块中所放的是会发生异常的代码。
3.throw new exception 是抛出异常。