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