Atitti 跨语言异常的转换抛出 java js

Atitti 跨语言异常的转换抛出 java js

异常的转换,直接反序列化为json对象e对象即可。。

Js、没有完整的e机制,可以参考java的实现一个stack层次机制的e对象即可。。

抛出RuntimeException vs 还是e.cause;

应该抛出完整e,因为runtimeE可能还有一些说明。。

那如何捕获异常,可以判断,如果是RuntimeException,那么捕获他的cause就可。。

function convert2jsEx(data)

{

if(typeof data=="string")

{

try{

data = eval(  "(" + data + ")"   );

}catch(e)

{

//alert(e);

//yaosh puton str zeu return;

if(e instanceof ReferenceError)

return;

//return e;

}

}

if(data["@type"]!=null && data["@type"]=="java.lang.RuntimeException")

{

throw data.cause;

}

else   if(data["@type"]!=null && data["@type"]=="java.lang.Exception")

{

throw data.cause;

}

else if(data["stackTrace"]!=null)

{

throw data;

}

else  if(data["xdebug_message"]!=null)

{

//  if(data.xdebug_message!=null)

logx(data.xdebug_message);

throw data.xdebug_message;

}

else

return false;

}

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

上一篇:【开发技术】java异常的捕获与抛出原则


下一篇:存储过程——异常捕获&打印异常信息