码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-11-19 16:05:25      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:als   try   amp   ring   eval   cat   attila   style   ret   

 

 

 

 

 

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

 

 

 

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

标签:als   try   amp   ring   eval   cat   attila   style   ret   

原文地址:http://www.cnblogs.com/attilax/p/6080557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!