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
Atitti 跨语言异常的转换抛出 java js的更多相关文章
- Atitit.跨语言异常转换机制 java c# php到js的异常转换
		
Atitit.跨语言异常转换机制 java c# php到js的异常转换 1. bizEx 直接抓取,然后js catchEX1 2. Chkec runtimeEx1 3. Other异常..J ...
 - Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
		
当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...
 - AES加密时抛出java.security.InvalidKeyException: Illegal key size or def
		
原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...
 - AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parametersIllegal key size or default parameters
		
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...
 - 对象反序列化时,抛出java.io.StreamCorruptedException: invalid type code: AC异常
		
问题描述:在使用java.io.ObjectInputStream类的readObject()方法去读取包含有序列化了多个(两个及两个以上)类的文件时,当读取到第二个类时,会抛出题目中提到的异常. 原 ...
 - 调用远程主机上的 RMI 服务时抛出 java.rmi.ConnectException: Connection refused to host: 127.0.0.1 异常原因及解决方案
		
最近使用 jmx 遇到一个问题,client/server 同在一台机器上,jmx client能够成功连接 server,如果把 server 移植到另一台机器上192.168.134.128,抛出 ...
 - day 2 异常传递 ,抛出
		
1.异常的传递 def test1(): print("---test1--") print(num) print('---test1 over---') def test2(): ...
 - ORACLE 存储过程异常捕获并抛出
		
for tab_name in tables loop execute immediate 'drop table '||tab_name; --此处可能会报错 end loop; 当前情况是,循环表 ...
 - java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法
		
package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: ...
 
随机推荐
- 1500. Prime Gap 11 月 11日
			
/*本篇为转载,在此申明,具体就是先设定从2以后所有的数都为质数,定为质数的数的倍数则不是质数,慢慢排除后面的数*/ #include<iostream>#include<cstri ...
 - Java中的equals和hashCode方法
			
本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...
 - Python生成器的经典程序
			
import random def get_data(): """返回0到9之间的3个随机数""" return random.sample ...
 - 【算法与数据结构】二叉搜索树的Java实现
			
为了更加深入了解二叉搜索树,博主自己用Java写了个二叉搜索树,有兴趣的同学可以一起探讨探讨. 首先,二叉搜索树是啥?它有什么用呢? 二叉搜索树, 也称二叉排序树,它的每个节点的数据结构为1个父节点指 ...
 - Python和C扩展实现方法
			
一.Python和C扩展 cPython是C编写的,python的扩展可以用C来写,也便于移植到C++. 编写的Python扩展,需要编译成一个.so的共享库. Python程序中. 官方文档:htt ...
 - C#交错数组
			
交错数组本质上是一维数组只不过这个一维数组里的元素都是数组.因为该一维数组里面的元素可以是任何大小的数组所以定义时只能以这样的格式定义 ][]; 定义完后必须对该数组进行初始化后方可进行赋值等操作否则 ...
 - Linux 常用工具小结:(5) lftp工具使用
			
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
 - windows 录音程序(一)
			
(一)概述 1.依赖条件:winmm.lib 2.步骤: (1)打开设备 ----- waveInOpen(打开一个音频输入设备): (2)开始录音 ----- waveInStart开始录音: ( ...
 - vb---输入模式之文本输入与二进制输入区别
			
使用 VB6 MSCOMM 控件 进行二进制收发 发布时间:2012-01-10 12:12:01 技术类别:嵌入式 MSCOMM 控件是用于串口通信的,使用方便.在VB中,这个串口控件缺省是 ...
 - 萝卜白菜,给有所爱——C#和JAVA都会终将被时代淘汰
			
看到园子里又有一波试图掀起C#和JAVA的谁更好的争论,对于这些一直不断的争论,我觉得实在没有必要,黑格尔的存在即合理,中国的老古语说的萝卜白菜各有所爱,大家争论的再多其实卵用也没用,还不如趁着闲暇时 ...