Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906

    [JAVA/jsp] Connessione al db

    Ciao volevo sapere se è obbligatorio usare sempre try per connettersi al db o posso eseguire query direttamente senza stare a diventare matto

  2. #2

    Re: [JAVA/jsp] Connessione al db

    Originariamente inviato da olivs
    Ciao volevo sapere se è obbligatorio usare sempre try per connettersi al db o posso eseguire query direttamente senza stare a diventare matto
    e' cosa buona e giusta usare try, in particolar modo per connettersi a un db, visto che le exception tendono a fioccare, nelle connessioni...

  3. #3
    Dalle prove che ho fatto devi SEMPRE mettere la connessione a database all'interno di un blocco try - catch.

  4. #4
    diciamo che come regola generale, dentro al try ci va messo qualsiasi cosa possa lanciare un'Exception. che sia una connection o un Integer.parseInt() poco importa, se non lo fai rischi che ti si pianti l'applicazione

  5. #5
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    ok ma scusate la mia ignoranza in materia ma mi sto avvicinando piano piano a java da php. se voglio fare piu query devo fare ogni volta un try o mi basta per la prima? e poi le altre le posso lasciare fuori?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ogni volta che richiami u metodo che può sollevare un'eccezione la devi racchiudere in un blocco try/catch (se un metodo può sollevare un'eccezione significa che qualcosa può andare storto, non avrebbe senso lasciare incustodito del codice pericoloso).
    Quello che puoi fare, però, è racchiudere tutte le chiamate a tali metodi all'interno di un unico grande blocco try/catch:
    codice:
    try {
       // connessione al db
       ...
       // prima query
       ...
       // seconda query
       ...
       // e via dicendo
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Originariamente inviato da olivs
    ok ma scusate la mia ignoranza in materia ma mi sto avvicinando piano piano a java da php. se voglio fare piu query devo fare ogni volta un try o mi basta per la prima? e poi le altre le posso lasciare fuori?
    il try serve a "provare a fare" qualcosa che potrebbe fallire per i piu' svariati motivi, come ad esempio le connessioni. in caso di errore una connessione lancia un messaggio di errore comunemente chiamato exception che puo' venir gestito dal codice proprio grazie al costrutti try{}catch(){}

    esempio

    try{
    connessione
    }catch(Exception e){
    metti nel log o altrove il messaggio di errore, fai cose particolari etc etc
    }

    questo ogni volta che usi una connessione

  8. #8
    In alternativa al codice di LeleFt puoi inserire ogni connessione a db in un diverso blocco try-catch.
    Questo metodo ti permette, ad esempio, di gestire diversamente l'eccezione a seconda della connessione che l'ha lanciata.

    Esempio:
    codice:
    try {
       // connessione al db
    }catch(Exception e){
       // gestione eccezzione di connessione
    }
    try {
       // prima query
    }catch(Exception e){
       // gestione eccezione prima query
    }
       // e via dicendo
    }
    CIAO

  9. #9
    Utente di HTML.it L'avatar di mick
    Registrato dal
    Jun 2004
    Messaggi
    34
    ok, ma il try-catch non e' il solo modo per gestire le eccezioni:
    e' ammissibile anche throws-throw (esempio:
    public void insert(Object x)throws NullpointerException poi dentro il metodo... if (x==null) throw NullPointerException("eccezione catturata"); ovviamente il try-catch ti permette di gestire effettivamene le eccezzione ed, a volte, per non averlo utilizzato viene prodotto un errore in compilazione . come nel caso di connessioni, apertura file, etc...
    Mick: Be Simply Natural

  10. #10
    Il Try/Catch e' obbligatorio per tutte le exception che estendono Exception , mentre per le exception che estendono RuntimeException non e' necessario , ma e' buona norma farlo.
    Come gia' detto esistono sia il try/catch che il throws/throw
    , quest'ultimo non fa altro che rimandare l'exception al chiamante del metodo.
    L'uso dell'uno o dell'altro dipende dalla struttura del programma A volte e' necessario gestire direttamente l'exception altre no.
    L'SQLException estende Exception e deve essere obbligatoriamente catturata con uno dei due metodi

    Ciauz
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

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 © 2024 vBulletin Solutions, Inc. All rights reserved.