2013-08-19 63 views
1

控制流我有,我認爲它打破了我的代碼的控制流的聲明。該聲明是s.executeBatch();sjava.sql.Statement一個實例。如何防止聲明斷裂在Java中

else if (event.getSource()==btnSave) 
{ 
    btnAdd.doClick(); 
    int a[]=s.executeBatch(); 
    System.out.println ("dddddd"); 
    btnRefresh.doClick(); 
    con.commit(); 
    s.clearBatch(); 
} 

一切在這之後s.executeBatch();)不執行,如果我評論它,在doClick();System.out.println語句執行。

這是`則ExecuteBatch包括在Oracle的文檔的信息()':

executeBatch()將一批命令提交給數據庫爲 執行,如果全部命令執行成功,則返回更新的陣列 計數。

+0

的核心問題(如問題標題描述)沒有解決尚未與我沒有得到一個答案它:) – AdelM

回答

0

將有問題的語句封裝在try catch塊中並優雅地處理異常。

未處理的異常將控制返回,異常處理的調用方法。捕獲異常將使您可以控制糾正措施,如果符合邏輯,則繼續執行其餘代碼。

把try在你有問題的聲明s.executeBatch(/捕獲),像這樣:

else if (event.getSource()==btnSave) 
    { 
     btnAdd.doClick(); 
     int a[]; 
     try { 
      a=s.executeBatch(); System.out.println ("dddddd"); 
     } catch (Exception e) { 
      System.out.prointln("Exception happened"); 
     } 
      btnRefresh.doClick(); 
     con.commit(); 
     s.clearBatch(); 
    } 
+1

不完全的「優雅」 exceeption處理:)事務應該回滾在catch和'doClick'和其他的東西可以去'finally'教科書examlpe ,. –

+1

@MarkoTopolnik所有的好點,我只是想解決使用嘗試捕捉周圍可能會遇到異常的聲明。 –

+0

謝謝奧利弗樓 – AdelM