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;
}
相关文章
- solidworks win7-32 sldfuncfeat.dll加载失败或丢失插件错误提示应对
- 记一次使用awk的错误使用
- IIS发布站点错误收集
- Java实现 LeetCode 645 错误的集合(暴力)
- 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
- go的错误处理(异常捕获、处理):defer+recover机制处理错误、自定义异常(自定义错误)
- 漏洞修复-- Linux kernel 资源管理错误漏洞(CVE-2022-32250)
- ArcObject开发,“异常在 ESRI.ArcGIS.Version.dll”错误
- SAP Cloud Application Studio里试图创建Lead扩展字段失败的错误消息
- JSP常见错误以及解决方案
- 【异常】Dbeaver配置JDBC连接ES时提示SQL错误:current license is non-compliant for [jdbc]
- 【异常】SpringBoot提示错误:Failed to convert from type [java.lang.String] to type [java.util.Date] for value
- 【异常】Maven的scope错误使用导致pom must be one of [provided, compile, runtime, test, system] but is ‘import‘
- 已解决SQL错误(1050) : Table ‘test1‘ already exists
- 【华为云技术分享】Python 中的异常和错误
- 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 )
- 【错误记录】编译 Linux 内核报错 ( Unable to find the ncurses package. )
- MVC异常过滤器 (错误页)
- SQL声明发育异常导致项目错误
- 【异常】记一次因注解SpringMVC @RequestParam错误使用导致上传文件接收到的MultipartFile类型为null
- 解决办法:git错误 error: failed to push some refs to 'https://github.com/...