Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结

1. 流程图 1

2. Java 类关系结构图片 1

3. 错误信息结构 1

4. 调用 2

4.1. 收集错误信息 3

4.2. 判断是否部分错误抛出异常 3

4.3. 设置typex信息4 js 3

5. Js解析 ,throw js 异常 3

6. Js 格式化 4

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 的总结的更多相关文章

  1. .NET:异常以及异常处理框架探析(转载)

    概述 一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常. 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理.应用程序中充斥着零散的异 ...

  2. PHP错误以及异常处理

    以前一直觉得php的异常处理没有什么,现在才发现这个还真是门学问,于是狠下心来好好研究了一下,写一篇文章,也作备忘吧. 1. php错误 无论是什么语言编程,都会有如下三种错误,当然php也不例外. ...

  3. Atitit 异常机制与异常处理的原理与概论

    Atitit 异常机制与异常处理的原理与概论 1. 异常vs 返回码1 1.1. 返回码模式的处理 (瀑布if 跳到失败1 1.2. 终止模式  vs 恢复模式(asp2 1.3. 异常机制的设计原理 ...

  4. Yii中的错误及异常处理

    Yii中的错误及异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler, set_error_handler实现的. ...

  5. WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]

    原文:WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇] 在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常.在服务执行过 ...

  6. 再谈PHP错误与异常处理

    博客好久没有更新了,实在惭愧,最近在忙人生大事,哈哈!这段时间没有看什么新的东西,结合项目中遇到的PHP异常处理问题,我又重新梳理了之前模糊的概念,希望对大家理解PHP异常处理有所帮助. 请一定要注意 ...

  7. ThinkPHP5.0源码学习之注册错误和异常处理机制

    在base.php文件中,用一句代码\think\Error::register();实现错误和异常处理机制的注册. // 注册错误和异常处理机制 \think\Error::register(); ...

  8. 2018/05/02 PHP 之错误与异常处理

    在学习中,越学习越觉得自己基础薄弱. 在平常工作中,对于某些错误处理感觉不知道怎么下手,于是决定重新再整理一下. 强烈推荐这篇文章,真的感觉学习到了很多. 部分引用::再谈PHP错误与异常处理 -- ...

  9. Atitit  404错误的排查流程总结 v3 qaf

    Atitit  404错误的排查流程总结 v3 qaf 1.1. 用了注解不生效 提示404 Not Found1 1.2. 路径不对了,开头多了个空格1 2. 500 Servlet Excepti ...

随机推荐

  1. 优化png图片的历程

    一.使用yslow一个tool  找到一个叫做smush的工具,点击就可以进入工具的页面. 然后你就能够压缩,下载压缩后的图片. 可是终于我还是没有选择这个方案.由于压缩的图片大小还是太大了,我认为还 ...

  2. Qt Creator的安装与Qt交叉编译的配置

    Qt Creator 的安装 到Qt官网下载Qt Creator  https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http ...

  3. Node.js:模块系统、函数

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...

  4. 免费的.net云平台appharbor.com

    支持Mysql,MSSQL2008R2免费的都是20MB 提供codeplex,GitHub,BitBucket部署到appharbor.com 也可以使用Git来部署应用,但不支持FTP 可以一键安 ...

  5. 不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息

    不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息 学习了:https://blog.csdn.net/z69183787/article/details/360080 ...

  6. 2014年七月最佳jQuery插件荟萃

    本月的jQuery插件荟萃我们将介绍几款非常不错的jQuery插件,涵盖了表单,幻灯,页面设计等等方面,相信大家肯定会喜欢! Select or Die 一款帮助开发者美化并且强化选择框的jQuery ...

  7. Android中的一些小技巧

    这个是App判断是pad还是手机的代码: public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManage ...

  8. android 程序更新(没有sdcard)

    今天总结一下我们写的程序需要更新(默认用户已经安装上旧版本了),而用户更新时却没有sdcard的情况,如果有sdcard,那就不用废话了... 先说一下软件更新的基本原理,从服务器下载一个程序的apk ...

  9. ios 推送app badge 数字累加操作

    ios 推送app badge 数字累加操作: 一:此数字需要后台配合: 二:大致原理: 后台发推送时,第一次 传badge 为1,往后,依次累加操作即可: 当用户打开app时,app向后台发送请求, ...

  10. python urllib2 httplib HTTPConnection

    httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. import httplib conn  ...