2014-12-22 5 views
0

Im пытаясь может обрабатывать код здесь и снова вызвать метод, чтобы добавить DBkey и добавить больше журналов печатать точную ExceptionДобавление журнала и обработка исключений

boolean isEnabled(String dbKey) { 
     Connection conn = null; 
     boolean enabledFlag = false; 
     Hashtable params = null; 
     String sqlKey = "abc_a"; 
     String paramKey = "cde_a"; 
     try { 
      conn = JdoServer.getInstance(buildConfiguration.cDatabaseKey) 
        .getConnection(); 
      String sql = JdoServer.getSqlStatement(sqlKey); 
      PreparedStatement ps = conn.prepareStatement(sql); 
      ps.setString(1, paramKey); 
      ResultSet rs = ps.executeQuery(); 
      if (rs.next()) { 
       enabledFlag = rs.getBoolean(1); 
      } 
      rs.close(); 
      ps.close(); 
     } catch (SQLException se) { 
      Log.println(buildConfiguration.errorProjectName, "Database error", 
        se, Log.URGENT); 

//Kiru 19/12/2014 Add log for Database key 
      catch (SQLException ab) { 
        Log.println(JdoServer.getInstance(buildConfiguration.cDatabaseKey, 
          ab, Log.URGENT); 

Пожалуйста, помогите правильно ли моя обработка исключений и как я могу зарегистрировать dbkey?

+0

Что такое 'Log.println'? Попробуйте библиотеку журналов, например 'log4j', ее легко настроить и использовать. – Everv0id

+0

Привет всем, что тогда метод, который я могу использовать для добавления DBKey – femalesoftwareengineer

ответ

0

Его всегда рекомендуется регистрировать трассировку стека для целей отладки:
В вашем коде вы просто регистрируете какое-то сообщение, но это не помогает при отладке, поэтому лучше зарегистрировать трассировку стека.

log.error("Your description here", exception); // this is just an example 
// change it according to you Log framework 
+0

Привет В настоящее время он бросает ошибку Ошибка базы данных, но я не уверен, почему она бросает так, как ican идентифицирует причину ошибки базы данных – femalesoftwareengineer

+0

мой текущий класс log.java содержит метод printIn и i wana используют существующий метод. Может ли это быть сделано public public void println (String projectFileName, String msg, int severity) { dispatchProject (projectFileName, msg, null, severity); } ' – femalesoftwareengineer

+0

Hi @femalesoftwareengineer Я думаю, что если вы напечатаете Stack Trace или se.getMessage(), это скажет вам причину. –

0

Используйте систему ведения журнала, такую ​​как log4j и т. Д., Она имеет уровни. В разных средах, таких как dev и production, требуется различный уровень ведения журнала. Рекомендуется печатать трассировку стека на уровне ошибки. Вы также можете управлять этим через файл свойств log4j.properties/log4j.xml

Подробнее here.

+0

Привет, эксперт Каков метод, который я могу использовать для добавления DBKey – femalesoftwareengineer

0

Используйте рамки протоколирования соответствующих уровней протоколирования, в этом случае вы можете использовать уровень отладки, как сейчас войти исключение, а знать, что именно произошло я надеюсь, что это должно работать

ab.printStackTrace(); 

Try использовать логические идентификаторы, а также помочь в отладке

+0

Что такое метод, который я могу использовать для печати dbkey, поскольку мои текущие журналы регистрируются только как ошибка базы данных, и я не уверен, где происходит ошибка? – femalesoftwareengineer

+0

@femalesoftwareengineer вы можете предоставить, что именно это сообщение, которое вы получаете – shikjohari

+0

Привет @shikjohari им получать обработки ошибок файл азбука данных ошибок базы данных, которая захватывается ниже обработки '} улова (SQLException себе) { Log.println (buildConfiguration .errorProjectName, «Ошибка базы данных», se, Log.URGENT); ** Обработка ошибок abcfile для данных Ошибка базы данных ** – femalesoftwareengineer

Смежные вопросы