在界面上保存数据时,由于不满足数据库的约束,数据库会抛出异常,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
评一波