在界面上保存数据时,由于不满足数据库的约束,数据库会抛出异常,x5会在界面上提示执行sql出错,在控制台里面打印出全部错误信息,包括数据库抛出的异常,下面介绍一下截获数据库异常,重新抛出异常的方法
保存数据的saveAction不能使用平台提供的bizSaveProcedure,而是需要自己写一个新的procedure,这个新的procedure可以作为saveAction使用的公共procedure。
这个新的procedure对应的java代码如下,可以在里面再添加其它的数据库异常
public static int saveER_WPXX(List insertRange,List deleteRange,List updateRange,String concept,String dataModel,String fnModel,String readOnly,String notNull,Table table){ try { return BizData.save(table, concept, insertRange, deleteRange, updateRange, readOnly, notNull, dataModel, fnModel); } catch (BusinessException e) { e.printStackTrace(); if(e.getCause().getCause()!=null){ if(e.getCause().getCause().getMessage().contains("Duplicate")){ throw new RuntimeException ("物品编码重复"+e.getCause().getCause().getMessage()); }else if(e.getCause().getCause().getMessage().contains("Data truncation")){ throw new RuntimeException ("输入数据过长"+e.getCause().getCause().getMessage()); }else{ throw e; } }else throw e; } }
本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!
阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443
评一波