Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Hybrid View

  1. #1
    Quote Originariamente inviata da valia Visualizza il messaggio
    sei tu a dover gestire l'errore in modo opportuno. Ad una POST segue una response, nella response devono essere inserite le informazioni circa lo stato della request. Una volta che hai queste sei tu a dover "gestire" le due situazioni.

    In particolare
    codice:
    ConnectionDb b=newConnectionDb();
            b.addPrenotazione(id, nome, cognome, lista, data, ora, consegnata);
    
    qui tu aggiungi la prenotazione, ma non ti chiedi come č andata la stessa, se ci sono stati errori ecc. Tu in ogni caso carichi la pagina successiva.
    Controlla qui l'esito dell'operazione inserimento prenotazione, se qualcosa č andato storto devi fare il corretto redirect.
    Ok, se ad esempio il metodo addPrenotazione genera un'eccezione io perņ non la posso vedere. Potrebbe andare cosģ?
    Io definisco un boolean come valore di ritorno del metodo, TRUE. Ne inizializzo uno nella JSP a FALSE. Se dopo aver invocato il metodo cambia allora tutto é andato bene altrimenti c'é stato un errore.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ripeto, ConnectionDb a quanto pare la scrivi tu, devi fare in modo di propagare l'errore e devi fare in modo che questo errore arriva nel punto in cui viene composta la response (quindi sopra perché dopo questa istruzione fai redirect).
    Non ti posso dire cosa devi o non devi fare visto che non conosco il codice tuo, ma informazioni circa lo stato di una query devono uscire fuori in qualche modo da quella funziona.

    il valore di ritorno da solo non basta, perché vuoi informazioni sul tipo di errore. Con solo il valore di ritorno non sai se a fallire č stato il db (non disponibile), la query (dati errati) o qualsiasi altro tipo di eccezione.
    Quelle informazioni sono essenziali prima di un redirect, sempre se vuoi sapere qualcosa sul motivo del fallimento
    RTFM Read That F*** Manual!!!

  3. #3
    Quote Originariamente inviata da valia Visualizza il messaggio
    ripeto, ConnectionDb a quanto pare la scrivi tu, devi fare in modo di propagare l'errore e devi fare in modo che questo errore arriva nel punto in cui viene composta la response (quindi sopra perché dopo questa istruzione fai redirect).
    Non ti posso dire cosa devi o non devi fare visto che non conosco il codice tuo, ma informazioni circa lo stato di una query devono uscire fuori in qualche modo da quella funziona.

    il valore di ritorno da solo non basta, perché vuoi informazioni sul tipo di errore. Con solo il valore di ritorno non sai se a fallire č stato il db (non disponibile), la query (dati errati) o qualsiasi altro tipo di eccezione.
    Quelle informazioni sono essenziali prima di un redirect, sempre se vuoi sapere qualcosa sul motivo del fallimento
    Il punto č che non č un caso dove gestisco l'eccezione stampando a video perchč sono pagine web....e...la mia ConnectionDb non č una servlet a tutti gli effetti con request e response. la uso da appoggio in file JSP....quindi non sparei come redirezionare....ad una pagina di errore....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    partiamo da un concetto basilare: se tu hai una classe che gestisce le connessioni al database, non importa dove poi la usi (quindi una libreria, un programma a riga di comando, un programma con interfaccia grafica, una pagina web) in OGNI caso la tua libreria deve fornirti una serie di informazioni:

    1. lo stato dell'operazione (banalmente true o false per farti dire se l'operazione č andata a buon fine oppure no)
    2. l'eventuale errore.
    Ci sono diversi modi per fare questo, banalmente il tuo metodo add restituisce true o false se č andato bene oppure no.
    Poi puoi scegliere se memorizzare l'errore in una variabile interna (a cui accedi con un connectionDbInstance.getError() ) oppure lanciare una eccezione che al suo interno ha informazioni sul tipo di errore oppure (nel tuo caso specifico) hai gią un metodo che puņ lanciare una SQLException, puoi anche decidere di non gestirla (ricorda solo di rilasciare le risorse che hai istanziato nel metodo) e demandare la gestione al chiamante.

    A questo punto il tuo pezzo di codice diventa (ad esempio)
    codice:
    if (connectionDBInstance.add(....)) {
       // redirect to correct page
    }else {
      // redirect to error page
    }
    credo che gestire questo meccanismo con una eccezione non sia difficile.

    La tua libreria (quella che si interfaccia col db) č indipendente dal tipo di input e output che hai, non gliene frega niente come lo generi e dove lo usi, sa solo che deve aveere una serie di info e deve elaborarle e dare un output.

    Fatto in quel modo, si demanda all'utilizzatore (che sicuramente sa come si generano gli input e come usare gli output) gestire in modo opportuno il tutto.

    Infine, non sai come redirezionare ad una pagina di errore? Un redirect gią lo fai, quindi non ne sai fare uno ad un'altra pagina passando delle info?
    RTFM Read That F*** Manual!!!

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.