Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结
Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结
1. 流程图
要是部分错误,alert 一个
未能全部完成处理:
r=r+"\r\n"+"数据id:"+eItem.id +" 提示:"+eItem.msg;
r=r+"\r\n"+"数据id:"+eItem.id +" 提示:"+eItem.msg;
2. Java 类关系结构图片
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. 错误信息结构
"[ {\r\n \"id\" : \"5\",\r\n \"msg\" : \"HasReltDataEx\"\r\n}, {\r\n \"id\" : \"8\",\r\n \"msg\" : \"unkk\"\r\n} ]",
4. 调用
private String multiDel_byDwr()
{
try {
returnmultiDel();
} catch (PartProcessErrEx e) {
e.setTypex("PartProcessErrEx");
return toJsonStr( e);
}
//return toJsonStr(new PartProcessErrEx(pex.li, "PartProcessErrEx"));
}
private String multiDel() throws PartProcessErrEx {
PartErrX pex = new PartErrX();
for (int i = 0; i < 10; i++) {
try {
del(i);
} catch (HasReltDataEx e) {
ErrorItem ei = new ErrorItem();
ei.id = String.valueOf(i);
ei.msg = "HasReltDataEx";
pex.add(ei);
e.printStackTrace();
} catch (Exception e) {
ErrorItem ei = new ErrorItem();
ei.id = String.valueOf(i);
ei.msg = e.getMessage();
pex.add(ei);
e.printStackTrace();
}
}
if (pex.li.size() == 0)
return "ok";
throw (new PartProcessErrEx( JsonUtil4jackjson.buildNormalBinder().toJson(pex.li) ));
}
4.1. 收集错误信息
} catch (HasReltDataEx e) {
ErrorItem ei = new ErrorItem();
ei.id = String.valueOf(i);
ei.msg = "HasReltDataEx";
pex.add(ei);
4.2. 判断是否部分错误抛出异常
if (pex.li.size() == 0)
return "ok";
throw (new PartProcessErrEx( JsonUtil4jackjson.buildNormalBinder().toJson(pex.li) ));
4.3. 设置typex信息4 js
private String multiDel_byDwr()
{
try {
returnmultiDel();
} catch (PartProcessErrEx e) {
e.setTypex("PartProcessErrEx");
return toJsonStr( e);
}
//ret
5. Js解析 ,throw js 异常
try{
processJavaEX(data);
//some();
logx("someth");
}catch(e)
{
//catch check ex
if(e instanceof JavaEx )
{
//catch PartProcessErrEx ex
if(e.typex=="PartProcessErrEx")
{
//alert(e.message);
alert(formatPartE(e.message,"未能全部完成处理:"));
throw "stop..";
}
}
6. Js 格式化
// JavaScript Document
function formatPartE(s,title)
{
var r=title;
var data = eval( "(" + s + ")" );
// for (var eItem in data)
for(var i=0; i<data.length; i++)
{
var eItem=data[i];
r=r+"\r\n"+"数据id:"+eItem.id +" 提示:"+eItem.msg;
}
return r;
}
Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结的更多相关文章
- .NET:异常以及异常处理框架探析(转载)
概述 一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常. 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理.应用程序中充斥着零散的异 ...
- PHP错误以及异常处理
以前一直觉得php的异常处理没有什么,现在才发现这个还真是门学问,于是狠下心来好好研究了一下,写一篇文章,也作备忘吧. 1. php错误 无论是什么语言编程,都会有如下三种错误,当然php也不例外. ...
- Atitit 异常机制与异常处理的原理与概论
Atitit 异常机制与异常处理的原理与概论 1. 异常vs 返回码1 1.1. 返回码模式的处理 (瀑布if 跳到失败1 1.2. 终止模式 vs 恢复模式(asp2 1.3. 异常机制的设计原理 ...
- Yii中的错误及异常处理
Yii中的错误及异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler, set_error_handler实现的. ...
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]
原文:WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇] 在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常.在服务执行过 ...
- 再谈PHP错误与异常处理
博客好久没有更新了,实在惭愧,最近在忙人生大事,哈哈!这段时间没有看什么新的东西,结合项目中遇到的PHP异常处理问题,我又重新梳理了之前模糊的概念,希望对大家理解PHP异常处理有所帮助. 请一定要注意 ...
- ThinkPHP5.0源码学习之注册错误和异常处理机制
在base.php文件中,用一句代码\think\Error::register();实现错误和异常处理机制的注册. // 注册错误和异常处理机制 \think\Error::register(); ...
- 2018/05/02 PHP 之错误与异常处理
在学习中,越学习越觉得自己基础薄弱. 在平常工作中,对于某些错误处理感觉不知道怎么下手,于是决定重新再整理一下. 强烈推荐这篇文章,真的感觉学习到了很多. 部分引用::再谈PHP错误与异常处理 -- ...
- Atitit 404错误的排查流程总结 v3 qaf
Atitit 404错误的排查流程总结 v3 qaf 1.1. 用了注解不生效 提示404 Not Found1 1.2. 路径不对了,开头多了个空格1 2. 500 Servlet Excepti ...
随机推荐
- Webharvest网络爬虫应用总结,web-harvest 编写脚本 读取 百度 博客 实例
Webharvest网络爬虫应用总结 Web-Harvest是一个Java开源Web数据抽取工具.它能够收集指定的Web页面并从这些页面中提取有用的数据.其实现原理是,根据预先定义的配置文件用ht ...
- H.264远程视频监控系统
由usb摄像头驱动,h264编码库,采集read_video,传输,客户端显示组成 读取摄像头数据缓冲区是否有帧数据收到,有数据收到就读取数据并进行H264编码,把数据发送到socket发送到客户端. ...
- Labeled Faces in the Wild 人脸识别数据集 部分测试数据
development test set Note: images displayed are original (non-aligned/funneled) images. match pairs ...
- WEB漏洞挖掘技术总结
漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出.格式化字符串.堆溢出.lib库溢出等技术都是针对ELF文件(Linux可执行文件)或者PE ...
- adore-ng笔记和Linux普通用户提权
官网:https://github.com/trimpsyw/adore-ng 安装: [root@xuegod63 ~]# unzipadore-ng-master.zip [root@xuegod ...
- 弹性方框模型 (Flexible Box Model) 快速入门
简介 我可以肯定,您对于页面上水平或垂直排列的样式元素已经了解得够多了.但是,CSS 还缺少适用于此任务的合适机制.了解 CSS3 弹性方框模型(简称 Flexbox) 该草案将 Flexbox 描述 ...
- 【云计算】jenkins,docker,mesos,marathon,k8s相关资料
参考资料: 基于Apache Mesos 构建高可靠,高可用的Jenkins CI:http://blog.csdn.net/ebay/article/details/43529401 Docker ...
- Cognos备份与恢复方案
场景:早上来上班,突然发现COGNOS服务器挂掉了,比如硬盘彻底坏掉了,不能恢复了,那该怎么办?前提是肯定要有备份啊. 备份内容: A:FM模型备份OKB:Cognos内容库备份OK 恢复过程: 1: ...
- CSDN日报20170404 ——《不不过写代码,而是完毕作品》
[程序人生]不不过写代码,而是完毕作品 作者:瞬息之间 近来有人问起,如今似乎真得变成了码农,日出而作,日落而息.整天不停的写代码,开发业务需求,周而复始,日子长了,感到厌倦. 有时回忆,应该在过去的 ...
- Oracle Spatial 创建空间表、添加空间原表信息、添加删除空间索引
一.创建空间表 创建一个空间表tbsvrc_buffer_t ,SQL如下: create table tbsvrc_buffer_t( ID VARCHAR2(50) not null, ...