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. linux automake 交叉编译

    . ├── aclocal.m4 ├── autoscan.log ├── config.log ├── config.status ├── configure ├── configure.in ├─ ...

  2. opencv CxImage 互转 (Mat)

    //to Mat CxImage img; img.Load("C:\\f.jpg"); uint8_t* buf=NULL; int32_t len=0; bool rs =im ...

  3. SQLAlchemy如何给列和表添加注释comment?

    1.首先需要升级版本到1.2.x,我用的是1.2.14验证的,没有问题 2.看示例: class LoadResource(Base): """施压机资源."& ...

  4. Jenkins自动部署到(远程)tomcat服务器

    Jenkins的流程: 1.从版本控制中获取代码 ->2. 使用maven编译生成相应的包(jar,war) ->3. 部署到指定的地点. 其中2.主要是解决依赖的问题,或许你需要先mvn ...

  5. django 实现上传文件功能

    需求:自己写一个文件上传功能 代码: urls.py from django.conf.urls import url from django.contrib import admin from ap ...

  6. input 输入框默认获得焦点

    JavaScript实现默认焦点: 如下写<body>标签: <body onload="window.formLogin.user.focus()"> & ...

  7. java怎么删除List中的指定元素

    ArrayList al = new ArrayList(); al.add("a"); al.add("b"); //al.add("b" ...

  8. windows下基于apache的SVN启动失败修改

    我用的svn版本是:Setup-Subversion-1.8.1-1.msi, Apache版本是httpd-2.2.25-win32-x86-no_ssl.msi,安装完后把SVN bin文件夹下的 ...

  9. es5 - array - reverse

    /** * 描述:也就是数组元素反转 * 使用:arr.reverse() */ var a = [1,2,3]; console.log(a.reverse()); /** * 一个经典的问题:如何 ...

  10. [Exception JavaWeb 1] - javax.el.PropertyNotFoundException: Property 'id' not found on ..........

    好久不写Web应用了,今天碰到这个问题的时候,还一时半会没反应过来.实体类在jsp无法找对应的值. 最后发现是实体bean的属性的开头字母不能与次字母不能大写+小写或小写+大写,最后改成小写+小写就好 ...