天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2213|回复: 0

[Iscript] 平台try-catch机制使用示例【iscript-try-catch机制】

[复制链接]
purple 发表于 2013-2-20 14:22:14 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2013-2-20 14:23 编辑

示例脚本:
  1. try{
  2. var opts = createOptions();
  3. opts.add("","");
  4. var process = getDataSourceProcess();
  5. println("process=======>"+process);
  6. var appid=getApplication();
  7. var sql="select item_合同编号,item_合同名称 from tlk_合同表单";
  8. var datas=process.queryDataSourceSQL("test",sql,appid);
  9. println("datas=====>"+datas.size());
  10. if(datas!=null&& datas.size()>0){
  11.   for(var iter = datas.iterator();iter.hasNext();){
  12.      var map1=iter.next();
  13.      var name=map1.get("item_合同名称");
  14.      var value=map1.get("item_合同编号");
  15.      opts.add(name,value);
  16.   }
  17. }
  18. if(datas.size()<=0){
  19.    throw "datas不能为空!";//自定义的错误信息提示
  20. }
  21. }
  22. catch(e){
  23. println("打印异常信息---->"+e);
  24. }
  25. 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 代码块发生错误时,自动获取错误信息,脚本如下:
  1. try{
  2. var opts = createOptions();
  3. opts.add("","");
  4. var process = getDataSourceProcess();
  5. println("process=======>"+process);
  6. var appid=getApplication();
  7. var sql="select item_合同编号,item_合同名称 from tlk_合同表单";
  8. var datas=process.queryDataSourceSQL("test",sql,appid);
  9. println("datas=====>"+datas.size());
  10. if(datas!=null&& datas.size()>0){
  11.   for(var iter = datas.iterator();iter.hasNext();){
  12.      var map1=iter.next();
  13.      var name=map1.get("item_合同名称");
  14.      var value=map1.get("item_合同编号");
  15.      opts.add(name,value);
  16.   }
  17. }
  18. }
  19. catch(e){
  20. println("打印异常信息---->"+e);
  21. }
  22. 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

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 16:08

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表