2013-04-14 2 views
0

Я пытаюсь читать и декодировать штрих-код из набора jpeg-файлов, используя zxing. Поэтому я подключил свою программу к базе данных mysql, где у меня есть таблица, в которой хранятся каждый из путей файла jpeg. Но каждый раз, когда мой блок try вызывает исключение, он прерывает цикл, и выполнение заканчивается там! я должен был читать больше на блоках try, но я не могу найти проблему. Пожалуйста помоги!!! это действительно дает мне головную боль! Вот часть моего кода:Что случилось с моей обработкой исключений (блок try-catch)?

int next_row=1; 

String file=""; 

try 
{ 
     //Register the JDBC driver for MySQL. 
     Class.forName(JDBC_DRIVER); 
     Connection con = DriverManager.getConnection(DATABASE_URL,"user", "pass"); 
     Statement stmt = con.createStatement(); 
     ResultSet rs = stmt.executeQuery("select * from mrd"); 

     while (rs.relative(next_row)) 
     { 
      file = rs.getString(3); 
      //System.out.println(file); 
      String p = "mrd//" + file; 
      System.out.println("\nSending " + file + " to barcode reader"); 
      String b = a.readBarcode(p); 
      //System.out.println(b); 


     } 

     con.close();      
    } 

    catch(NotFoundException e) 
    { 
     System.out.println(e + "- Error in " + "current_row"); 
    } 

    catch(Exception e) 
    { 
     //System.out.println(e + "- Error in " + current_row); 


    } 
+0

Отправка 0401_000048.jpg в считыватель штрих-кода MRD // 0401_000048.jpg Штрих текст EPHYBRAND NIG LTD Отправка 0401_000051.jpg для считывания штрих-кодов MRD // 0401_000051.jpg Штрих текст 0658534 Отправка 0401_000052.jpg для считывания штрих-кодов MRD // 0401_000052.jpg Штрих текст NEWDOC Отправка 0401_000055.jpg для считывания штрих-кодов MRD // 0401_000055.jpg com.google.zxing.NotFoundException- Ошибка в CURRENT_ROW –

ответ

0

То потому что попробовать это, прежде чем время цикла, либо:

1) добавить еще один цикл Thatll Оберните попробовать

2) положить попытку внутри существующего цикла

+0

Спасибо, я попробую сделать, но с другим блоком try в цикле, потому что запрос sql не будет работать без блока try. –

+0

Извините, я до сих пор не возвращался к вам, у меня есть только выходные, чтобы работать над этим проектом. Я, наконец, решил проблему, все, что я сделал, было поставлено блок try внутри метода readBarcode, и он работал отлично! Большое спасибо за вклад ur, я не мог сделать это без u! –

+0

@ayoalatishe рад помочь :) – Infested

0

Вам нужно поставить блок try-catch внутри цикла, а не за его пределы; когда генерируется исключение, он переходит к первому блоку catch, и если блок catch находится вне вашего цикла, то он выйдет из цикла.

Ваш con.close() также должен быть в блоке finally, чтобы обеспечить правильное освобождение ресурса. Окончательный блок гарантированно выполняется, даже если выбрано исключение.

+0

Try-catch был фактически предназначен для запроса mysql, я попробую добавить еще один блок try-catch внутри цикла, чтобы узнать, что произойдет. –

+0

Жаль, что я до сих пор не возвращался к вам, у меня есть только выходные, чтобы работать над этим проектом. Я, наконец, решил проблему, все, что я сделал, было поставлено блок try внутри метода readBarcode, и он работал отлично! Большое спасибо за вклад ur, я не мог сделать это без u! –