|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2003
Città: TV
Messaggi: 10866
|
[java] Gestire l'errore try/catch per operazioni di jdbc
Ciao,
inizialmente uso try/catch... eseguo le operazioni all interno di try e quindi stampo su un label l'eventuale "difetto" generato dal catch... Purtroppo.. stampo sul campo di testo, un informazione che io setto precedentemente, quindi non ho nessuna chiarezza su quel che è esattamente l'errore. Vorrei quindi creare una textarea, dove scrivere via via una sorta di debug degli errori che si generano... Ma come faccio per esempio in questa occasione a scrivere l'esatto errore? Codice:
private void riempiTabella(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://ced-sql:1433;" + "databaseName=magazzinoricambi;user=sa;password=xxxxxx;";
Connection con = DriverManager.getConnection(connectionUrl);
st=con.createStatement();
r=st.executeQuery("SELECT * FROM dbo.tblMagazzinoRicambi");
int riga=0;
while(r.next())
{
for(int i=0; i<contaColonne(); i++)
{
jTable1.setValueAt(r.getString(i+1),riga,i);
}
riga++;
}
r.close();
}catch(Exception e) {jTextField2.setText("NO, QUALCOSA NON VA NEL RIEMPI TABELLA");};
}
__________________
cagnaluia MTB|DH|Running|Diving Eos1DX|16-35f4Lis|35f1.4L|100f2|300F4LIS |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Jul 2006
Messaggi: 12
|
Codice:
...}catch(Exception e) {
jTextField2.setText(e.getMessage()); // Prende solo il messaggio di errore -> Nota che è meglio pigliare lo stack trace..
e.printStackTrace(); // Stampa su std output lo stack trace
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
utilizzando "catch" multipli dovresti catturare il tipo specifico di ogni eccezione, non solo la generica class Exception; questo se vuoi gestire messaggi/flussi di esecuzione diversi in base al tipo specifico di eccezione.
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
questo pezzo di codice gestisce tutte le possibili eccezioni a cui puoi andare incontro
![]() Codice:
Connection conn = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} catch (IllegalAccessException e) {
//TODO
} catch (InstantiationException e) {
//TODO
} catch (ClassNotFoundException e) {
//TODO
}
Statement stmt = null;
ResultSet rs = null;
try{
conn = DriverManager.getConnection("jdbc:sqlserver://ced-sql:1433;" + "databaseName=magazzinoricambi;user=sa;password=xxxxxx;");
stmt=conn.createStatement();
rs=stmt.executeQuery("SELECT * FROM dbo.tblMagazzinoRicambi");
int riga=0;
while(rs.next()){
//TODO
}
} catch (SQLException e) {
// TODO
}
Ultima modifica di vladix : 23-02-2008 alle 00:19. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:25.




















