分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

php异常处理笔记

发布时间:2023-09-06 01:52责任编辑:彭小芳关键词:暂无标签
<?phpheader("Content-type:text/html;charset=utf-8");// try// {// ????//业务处理 错误时抛出异常。// ????$age = 130;// ????if ($age > 120) {// ????????throw new Exception(‘年龄不能大于120岁。‘, 1001);// ????}// } catch (Exception $e) {// ????$err = [// ????????‘code‘ => $e->getCode(),// ????????‘msg‘ ?=> $e->getMessage(),// ????????‘file‘ ???=> $e->getFile(),// ????????‘line‘ ??=> $e->getLine()// ????];// ????echo json_encode($err,JSON_UNESCAPED_UNICODE);// }/*** 自定义异常处理*/// class myException extends Exception// {// ????//根据业务需求,自定义方法// ????/**// ?????* 获取错误信息// ?????* @param int $type 类型 1=json 2=数组// ?????* @return array// ?????*/// ????public function getErrorInfo($type=1)// ????{// ????????$err = [// ????????????‘code‘=>$this->getCode(),// ????????????‘msg‘=>$this->getMessage(),// ????????????‘file‘=>$this->getFile(),// ????????????‘line‘=>$this->getLine()// ????????];// ????????if($type==1){// ????????????return json_encode($err,JSON_UNESCAPED_UNICODE);// ????????????exit();// ????????}// ????????return $err;exit();// ????}// }// ????try{// ????????$age = ‘130‘;// ????????if($age>120){// ????????????throw new myException("年龄不能大于120岁。", 1001);// ????????}// ????}catch(myException $e){// ????????$info = $e->getErrorInfo(1);// ????????var_dump($info);// ????}catch(Exception $e){// ????????var_dump($e->getMessage);// ????}//禁止错误输出error_reporting(0);//设置错误处理器set_error_handler(‘errorHandler‘);//在脚本结束时运行的函数register_shutdown_function(‘fatalErrorHandler‘);/** * 错误处理 * @param int ???$err_no ?????错误代码 * @param string $err_msg ?错误信息 * @param string $err_file ???错误文件 * @param int ???$err_line ????错误行号 * @return string */function errorHandler($err_no = 0, $err_msg = ‘‘, $err_file = ‘‘, $err_line = 0){ ???// $log = [ ???// ????‘[‘.date(‘Y-m-d h-i-s‘).‘]‘, ???// ????‘|‘, ???// ????$err_no, ???// ????‘|‘, ???// ????$err_msg, ???// ????‘|‘, ???// ????$err_file, ???// ????‘|‘, ???// ????$err_line ???// ]; ??var_dump($err_msg.‘ in ‘.$err_line); ???//echo implode(‘ ‘,$log)."<br>";}/** * 捕捉致命错误 * @return string */function fatalErrorHandler() { ???$e = error_get_last(); ???switch ($e[‘type‘]) { ???????case 1: ???????????errorHandler($e[‘type‘], $e[‘message‘], $e[‘file‘], $e[‘line‘]); ???????????break; ???}}class DemoClass_1{ ???public function index() ???{ ???????//这里发生一个警告错误,出发errorHandler ???????$ee=[‘1‘=>2]; ???????echo $ee; ???}}$demo_1 = new DemoClass_1();//这里发生一个警告错误,被errorHandler 捕获$demo_1->index();//发生致命错误,脚本停止运行触发 fatalErrorHandler// $demo_2 = new DemoClass_2();// $demo_2->index();

php异常处理笔记

原文地址:https://www.cnblogs.com/qqlong/p/8991561.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved