Infatti il problema è che anche il finally può generare un'eccezione e il compilatore mi stava avvertendo proprio di questo.
Ho modificato così il metodo e ora funziona:
Altrimenti avrei dovuto aggiungere il try-catch relativo al finally nella classe dove chiamavo il metodo, e non mi sembrava granché come soluzione.codice:public static void insertMenu(String field) { PreparedStatement statement = null; //verifico che l'utente non abbia inserito un campo vuoto try { if (field == null || field.isEmpty()) { JOptionPane.showMessageDialog(blabla); return; } //inserisco fisicamente nel db il nuovo menu statement = connection.prepareStatement("INSERT INTO Menu VALUES (NULL, ?)"); statement.setString(1, field); statement.executeUpdate(); //catturo le eccezioni e chiudo lo statement per liberare risorse } catch (SQLException e) { JOptionPane.showMessageDialog(blabla); Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, e); } finally { if (statement != null) { try { statement.close(); } catch (SQLException ex) { Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex); } } } }
Adesso ho il problema che non so come aggiornare il contenuto della JList dopo che ho inserito dei dati nuovi nel db![]()

Rispondi quotando