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