您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.1.3的异常处理
发布时间:2017-07-13 18:22:55编辑:雪饮阅读()
thinkphp3.1.3提供了较为完善的异常处理,或许没有java那样全面,但至少大多数异常不需要自己去throw。直接可以使用thinkphp3.1.3系统自带的。
thinkphp3.1.3异常处理示例:
public function tryy(){
try{
$umid=I("post.uid");
$username=I("post.phone");
$msg_id=I("post.msg_id");
$code=I("post.code");
$nickname=I("post.nickname");
$avatar=I("post.avatar");
$m=M("s_user");
$msg=1;
$error="";
$rs = new Hxcall();
if(!$umid || !$username || !$msg_id || !$code){$msg=0;$error="请检查参数";}
elseif(!$this->registerCheckCode($code,$msg_id)){$msg=2;$error="验证码不正确";}
else{
//开启事务
$m->startTrans();
$data=array(
"phone_num"=>$username,
"username"=>$nickname,
"psw"=>md5($password),
"img"=>$avatar,
"birthday"=>date("Y-m-d",time()),
"createtime"=>date("Y-m-d",time()),
"um"=>$umid,
"information"=>"这家伙很懒什么也没有留下",
);
$mInfo=$m->where("phone_num=".$username)->find();
if($mInfo){$error="User already exists";$msg=3;}
else{
$id=$m->data($data)->add();
if($id){
//注册环信用户:用户名,密码,昵称
$imRegisterRes=$rs->hx_register($username."_xsp",$username,$username."_xsp");
$imRegisterRes=json_decode($imRegisterRes);
if($imRegisterRes->error){
//环信注册失败 状态为0
$error=$imRegisterRes->error;
$msg=0;
$m->rollback();
}
else{$m->commit();}
}
}
}
$phone=$username;
$arr["msg"]=$msg;
$arr["error"]=$error;
$arr["username"]=$nickname;
$arr["phone"]=$phone;
$arr["user_id"]=$msg;
$arr["img"]=$avatar;
$arr["address_id"]="";
$arr["information"]="";
echo json_encode($arr);
}
catch(\Exception $e){
//这里可以自定义处理也可以像php原生态哪种直接获取
echo "捕捉到错误信息:<br/>";
echo $e->getMessage()."<br/>";
echo "错误代码".$e->getCode()."<br/>";
echo "错误文件".$e->getFile()."<br/>";
echo "错误行".$e->getLine()."<br/>";
}
}
关键字词:thinkphp,异常处理,try