|
|
本帖最后由 purple 于 2013-2-20 14:23 编辑
示例脚本:- try{
- var opts = createOptions();
- opts.add("","");
- var process = getDataSourceProcess();
- println("process=======>"+process);
- var appid=getApplication();
- var sql="select item_合同编号,item_合同名称 from tlk_合同表单";
- var datas=process.queryDataSourceSQL("test",sql,appid);
- println("datas=====>"+datas.size());
- if(datas!=null&& datas.size()>0){
- for(var iter = datas.iterator();iter.hasNext();){
- var map1=iter.next();
- var name=map1.get("item_合同名称");
- var value=map1.get("item_合同编号");
- opts.add(name,value);
- }
- }
- if(datas.size()<=0){
- throw "datas不能为空!";//自定义的错误信息提示
- }
- }
- catch(e){
- println("打印异常信息---->"+e);
- }
- opts;
复制代码 结果:
1、当datas不为空时,不会抛出错误信息,控制台信息为:
JsUtil:process=======>cn.myapps.protection.util.WarpProcessFactory$WarpDataSourceProcessBean@11ea5f4
JsUtil:datas=====>1
2、当datas的长度小于等于0时,会抛出自定义的错误信息,控制台信息为:
JsUtil:process=======>cn.myapps.protection.util.WarpProcessFactory$WarpDataSourceProcessBean@11ea5f4
JsUtil:datas=====>0
JsUtil:打印异常信息---->datas不能为空!
如果不自定义错误信息,try 代码块发生错误时,自动获取错误信息,脚本如下:- try{
- var opts = createOptions();
- opts.add("","");
- var process = getDataSourceProcess();
- println("process=======>"+process);
- var appid=getApplication();
- var sql="select item_合同编号,item_合同名称 from tlk_合同表单";
- var datas=process.queryDataSourceSQL("test",sql,appid);
- println("datas=====>"+datas.size());
- if(datas!=null&& datas.size()>0){
- for(var iter = datas.iterator();iter.hasNext();){
- var map1=iter.next();
- var name=map1.get("item_合同名称");
- var value=map1.get("item_合同编号");
- opts.add(name,value);
- }
- }
- }
- catch(e){
- println("打印异常信息---->"+e);
- }
- opts;
复制代码 该种方式,当脚本正常不存在错误时,不会捕捉到异常信息,只有当脚本存在错误,才会抛出异常。例如故意在try块的代码中写了一个错字,这里是把数据源test写成
testt,则控制台的异常信息如下:
JsUtil:process=======>cn.myapps.protection.util.WarpProcessFactory$WarpDataSourceProcessBean@11ea5f4
JsUtil:打印异常信息---->JavaException: java.lang.NullPointerException: null
p.s:JavaScript异常错误 可参考资料: http://www.w3school.com.cn/js/js_errors.asp |
|