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

    [PHP5] Eccezioni: dubbi & best practice

    Salve a tutti gli amicici del PHP

    Mi piacerebbe discutere un po' su quali siano le vostre tecniche nell'utilizzo delle Eccezioni per la gestione degli errori. Dando per scontato le basi, cioè come utilizzare nel codice i vari costrutti delle eccezioni (try catch throw), vorrei soffermarmi più sulle scelte progettuali nell'utilizzo di questa metodologia.

    Cerco di spiegarmi: in due parole l'eccezione consente di gestire l'errore in un punto del codice diverso da quello dell'istruzione che ha generato l'errore stesso.
    Rimane però da capire DOVE sia opportuno gestirlo, a CHE LIVELLO.
    Finora avevo usato le eccezioni (non in php) solo a livello didattico, ora che mi trovo a doverle usare in un progetto di una certa complessità e mi trovo un po' "spaesato" su questo aspetto.

    Provo a fare un esempio.
    Ho un oggetto (chiamiamolo $DB di tipo Database) che mi fa da interfacciamento al database.
    Questo oggetto può sollevare eccezioni (throw) per mancata connessione o errore nell'SQL che provo a eseguire.

    Poi ho un oggetto che mi fa da astrazione a qualche dato, che ne so, delle news per un sito. Questo oggetto avrà metodi per inserire, modificare e eliminare le varie news e quindi utilizzerà al suo interno un riferimento all'oggetto $DB.
    Questo oggetto potrebbe sollevare eccezioni per possibili incongruenze, ad esempio se gli passo da cancellare un id che non esiste (la query non genera nessun errore in questo caso) o gli fornisco dei dati sintatticamente validi ma logicamente non corretti per il mio tipo di struttura.

    Ecco, voi che tipo di approccio usereste, in questo caso (o in casi più generali, meglio ancora)?

    In un possibile script dove mettereste i vari try catch per gestire le diverse eccezioni?


    (Scusate la mia solita logorrea )

  2. #2

  3. #3
    ultimo up, poi rinuncio

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.