循環中出現異常時記錄異常並繼續執行循環


 for(AdminDataContent adminDataContent:adminDataContentList){
                 try {
                     String tableName=adminDataContent.getTableName();
                     String sql = "describe " +tableName ;  
                     PreparedStatement ps = conn.prepareStatement(sql);  
                     ResultSet resultset = ps.executeQuery();  
                     while(resultset.next()){
                             AdminDataContentDetail contentDetail=new AdminDataContentDetail();
                             contentDetail.setId(new UUIDUtils().getUUID());
                             contentDetail.setContentId(adminDataContent.getId());
                             contentDetail.setDatasourceId(adminDataContent.getDataSourceId());
                             contentDetail.setColumnName(resultset.getString(1));
                             contentDetail.setColumnType(resultset.getString(2));
                             contentDetail.setCreateBy(adminDataContent.getCreateBy());
                             contentDetail.setCreateDate(new Date());
                             contentDetail.setUpdateBy(adminDataContent.getUpdateBy());
                             contentDetail.setUpdateDate(new Date());
                             contentDetail.setDelFlag("0");
                             contentDetailsList.add(contentDetail);
                               
                         }
                } catch (Exception e) {
                    e.printStackTrace();
                     TableScanError error=new TableScanError();
                    error.setId(new UUIDUtils().getUUID());
                    error.setDataSourceId(adminDataContent.getDataSourceId());
                    error.setErrorTableName(adminDataContent.getTableName());
                    error.setErrorDatabase(StringUtils.substringBefore(adminDataContent.getTableName(), "."));
                    //error.setCreateBy(adminDataContent.getCreateBy());
                    error.setCreateDate(new Date());
                    //error.setUpdateBy(adminDataContent.getUpdateBy());
                    error.setUpdateDate(new Date());
                    error.setRemarks(e.toString());
                    errors.add(error);
                    continue;
                    
                }       
             }

實例如上,在循環中使用try catch,catch中進行異常處理並使用continue進入下一次循環


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM