一段PHP异常
这是我写的一段代码,里面通过PHP异常功能,实现报错时显示出错代码所在行。当使用者操作出错时,截图给我,我可以很快得去追踪和排查错误!
public function added_business_submit(){
try{
extract($_POST);
if(''==$title) self::json(0,sprintf(ERROR_EMPTY,'工单标题'));
if(''==$is_trusteeship) self::json(0,sprintf(ERROR_EMPTY,'服务器类别'));
if(''==$eqroom_id) self::json(0,sprintf(ERROR_EMPTY,'所在机房'));
M()->startTrans();
$com_info = M('company')->where(array('com_qyuserid'=>$com_qyuserid))->find();
$com_id = $com_info['com_id'];
$com_name = $com_info['com_name'];
if(empty($com_info)) throw new Exception(ERROR_NOTFOUND_USER);
$data = array(
'com_id' => $com_id,
'com_name' => $com_name,
'type' => 1,
'step' => 1,
'poster' => self::$user['name'],
'posttime' => self::$datetime,
'eqroom_name' => D('EquipRoom')->get_eqroom_name($eqroom_id),
);
$data = array_merge($data,$_POST);
$agent_id = M('working_agent')->add($data);
if(false===$agent_id) throw new Exception(ERROR_SUBMIT);
$result = D('StepLogAgent')->next_step($agent_id,$remark);
if(false===$result) throw new Exception(ERROR_SUBMIT);
}catch(Exception $e){
M()->rollback();
$this->exception_handle($e);
}
M()->commit();
self::json(1,SUCCESS_SUBMIT);
}
private function exception_handle(Exception $e){
$msg = $e->getMessage();
$line = $e->getLine();
//**/print_r($e); echo M()->getLastSql();
$name = self::$user['name'];
$time = self::$datetime;
$sql = M()->getLastSql();
$log = $time." ".$name.":{$msg}({$line}) {$sql}";
self::mylog($log,'Agent');
self::json(0,"{$msg}({$line})");
}
一段PHP异常的更多相关文章
- 窗体Showmedol 遇到的奇怪异常-->进阶问题
procedure SetTransparentForm (popupFrm:TForm;Color:TColor;AlphaBlendValue:Integer); var FrmTranspare ...
- java.util.ConcurrentModificationException 异常问题详解
环境:JDK 1.8.0_111 在Java开发过程中,使用iterator遍历集合的同时对集合进行修改就会出现java.util.ConcurrentModificationException异常, ...
- Java中的异常简介
Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...
- java异常,异常处理,异常类 关键字:throws 和 throw 自定义的异常类
package cn.kecheng; import java.util.Scanner; /**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中 ...
- 第33节:Java面向对象中的异常
Java中的异常和错误 Java中的异常机制,更好地提升程序的健壮性 throwable为顶级,Error和Exception Error:虚拟机错误,内存溢出,线程死锁 Exception:Runt ...
- Java异常(Exception)
Java异常:运行期出现的错误 1. Java异常是Java提供的用于处理程序中错误的一种机制: 2. 错误指的是程序运行期间发生的异常事件,如除零溢出.数组下标越界.读取的文件不存在.... 3. ...
- python——异常except语句用法与引发异常
except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,< ...
- 转 Python3 错误和异常/ Python学习之错误调试和测试
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...
- 用Go语言异常机制模拟TryCatch异常捕捉
有的同学看到Go和TryCatch一起出现,心里可能会说,难道Go语言升级了,加入了try...catch语句.哈哈,其实Go语言从创建之初就没打算加入try...catch语句,因为创建Go的那帮大 ...
随机推荐
- ADO.NET实体框架Entity Framework模型-基于元数据解析
上一篇简单介绍了EF的XML模型结构,在基于xml解析一文中,主要使用xml查询技术Xpath,XQuery来得到实体模型中相应信息的,由于这种方式在数据库庞大,表关系复杂的情况下,有诸 ...
- jsonp 解决跨域传输
JSONP是JSON with Padding的略称.它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅 ...
- shell脚本:利用7z备份git项目
注:无git的方法参见:tar 或 7z 备份项目 首先利用homebrew安装p7zip $ brew install p7zip 然后利用两个shell脚本: backupProject.sh 会 ...
- ebs R12 支持IE11
如果不考虑升级jdk到1.7的话,可以使用oracle推荐的方法. 1.兼容模式 2.Toolkit to Disable Automatic Delivery of Internet Explore ...
- Handsontable 的数据保存(增删改查+导出excel)
项目用到handsontable 插件 根据官网 API写的handsontable初始化, 数据展示, ajax请求, 参数封装, Controller参数接受 全局容器 var AllData = ...
- 圆形ImageView(可设置边缘厚度和颜色)--第三方开源--CircleImageView
下载地址:https://github.com/hdodenhof/CircleImageView 使用的时候直接在xml中: <de.hdodenhof.circleimageview.Cir ...
- 使用open_read_write等底层函数来赋值一个文件
/* * 该程序是练习read(),write(),open(),create(),close(),lseek()等函数. * * 该程序的处理思路: * 1: 在程序所在的目录去打开一个文件,如 ...
- identityservice4使用案例
一 使用缘由 最近写微服务的blog,研读了o’reilly出的 <building Microservices With Asp.net Core>,其中使用的微服务分布式权限组件是mi ...
- eShopOnWeb
eShopOnWeb https://www.cnblogs.com/sheng-jie/p/9616675.html 构建现代Web应用 1.引言 eShopOnWeb是基于ASP.NET Core ...
- Linux-CentOS7 安装VMware Workstation 12
转自:http://blog.csdn.net/aoshilang2249/article/details/48656107 1.下载VMware 衔接地址 http://www.vmware.com ...