Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] gestione eccezioni sulle query

    Ciao a tutti volevo chiedere qualche parere sul modo migliore per poter gestire le eccezioni quando faccio una query su database oracle.

    io adotto questo modo:

    Connection Conn = null;
    Statement ST = null;
    ResultSet RS = null;

    try
    {
    Conn = getConn(dataSource) // mia funz. x ottenere la connessione
    String SQL = "SELECT ......"; // la mia query
    ST = Conn.createStatement();
    RS = ST.executeQuery(SQL);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    finally
    {
    RS.close();
    ST.close();
    Conn.close();
    }

    la chiusura di resultset, statement e connessione è bene farla nel finally oppure all'interno del catch oppure addirittura prima nel try dopo aver eseguito la query???
    Può andare questo metodo oppure esiste qualche modo migliore per gestire il tutto?

    Grazie 1000 Simone.
    Simone

    http://www.volpo.too.it

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Secondo me è meglio nel finally; così sia che ci sia eccezione o no, chiudo sempre il RS
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    confermo: meglio non avere connessioni pendenti
    Poi sarebbe anche il caso di includere ogni singola chiusura nel blocco finally dentro un altro blocco try/catch
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  4. #4
    per chiudere ogni oggetto (connessione, resultset e statement) utilizzo questa funzione:

    public static void releaseObject(Object obj, String methodName)
    {
    if (obj != null)
    {
    try
    {
    Class dbObj = obj.getClass();
    Method closeObj = dbObj.getMethod(methodName, null);
    closeObj.invoke(obj, null);
    }
    catch (NoSuchMethodException e)
    {
    }
    catch (IllegalAccessException e)
    {
    }
    catch (InvocationTargetException e)
    {
    }
    catch (Exception e)
    {
    }
    }
    }

    Ovviamente il parametro methodName="close".

    Cmq grazie per la vostra opinione!!!
    ciao Simone
    Simone

    http://www.volpo.too.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.