Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception processVob7
1. 1. javascript异常处理机制throw自定义异常类对象...(推荐) 1
1. 1. javascript异常处理机制throw自定义异常类对象...(推荐)
Throw str
Not throw error ..cause ie,ff error obj is diff..
可以throw自定义异常类对象...(推荐)
2. 2.Dwr Web前后台异常的统一处理
不个java异常转换成个js异常走ok...
dwr中看见了dwr的异常转换,三,不生效...
自定义异常要配置converter才能生效了,,默认的ex跟个runtimeEx好像不能转换成个dwr 异常,,使用的是注解模式..要是使用xml模式业马能生效了...
只好输出ex json str来转换...
Js区别check ex ,在不同ex type ,catch 走ok兰..
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. 自定义java异常check ex 为dwr
主要的是添加个typex属性,容易的在js端区别不同的ex
private String multiDel_byDwr()
{
try {
returnmultiDel();
} catch (PartProcessErrEx e) {
e.setTypex("PartProcessErrEx");
return toJsonStr( e);
}
3. java异常转换为js异常(js类库层)
function processJavaEX(data)
{
if(typeof data=="string")
{
try{
data = eval( "(" + data + ")" );
}catch(e)
{
// alert(e);
//yaosh puton str zeu return;
if(e instanceof ReferenceError)
return;
if( e instanceof SyntaxError)
return;
}
}
if(data["stackTrace"]!=null)
{
if(data.message!=null)
{
logx(data.message);}
var ce = new JavaEx();
ce.typex=data.typex;
ce.message= data.message;
throw ce;
}
else
return false;
4. Javascript的调用样品
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..";
}
}
//catch other ex
alert("other meth");
}
5. Js的多级catch
旧前是转换成个js 的 check ex来处理...中间麻烦的...每个java check ex 都要转换了...麻烦的..林吧还是使用自定义属性typex来判断...容易的..
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. -------------详细代码
7. 参考
Atititjs javascript异常处理机制与java异常的转换.js exception process - attilax的专栏 - 博客频道 - CSDN.NET.htm
Atitit. Java script 多重多重catch语句的实现and Javascript js 异常机制 - attilax的专栏 - 博客频道 - CSDN.NET.htm