codice:
private void loadFromDB(){
try{
Class.forName("org.sqlite.JDBC");
Connection connessione = DriverManager.getConnection("jdbc:sqlite:rubrica.db");
Statement stat = connessione.createStatement();
ResultSet result = stat.executeQuery("SELECT * FROM students");
Student add;
while (result.next()) {
add= new Student(result.getString("name"),result.getString("surname"),result.getString("id"));
this.students.add(add);
}
result.close();
connessione.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
Come hai detto tu se levi il System.exit funziona o meglio non si blocca....
Ma quel System.exit lo fai all'interno di un catch quindi vuol dire che si è verificata un eccezione durante l'esecuzione del blocco try, quale sia questa eccezione non ci è dato saperlo dato che stampi sono il messaggio, che può essere abbastanza forviante... se magari invece di quel System.out metti un e.printStackTrace() ti verrà stampato tutto lo stack delle eccezione e da li potrai capire cosa è che non funziona.