Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Try Catch dinamica.

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208

    Dinamica d try-catch.

    Salve a tutti,
    ho due function una di seguito all'altra le quali gestiscono una chiamata a db tramite mysqli_fetch_assoc, mentre la seconda esegue una query SUM calcolando il totale corrispettivo dei dati richiamati dalla prima:

    Codice PHP:
    public function QuoteAss() {

            
    $dbc $this->connection;
            
    $query "SELECT etc.etc;";

            
    $result mysqli_query($dbc$query);
                 while (
    $row mysqli_fetch_assoc($result)) {
                               
    etc.etc.
           } 
    Codice PHP:
    public function TotaleQuoteAss() {
            
    $dbc $this->connection;
            
    $query2 "SELECT SUM etc.etc.; ";
           
    $count mysqli_fetch_assoc(mysqli_query($dbc$query2));
            if (!
    $count) {
                echo 
    "Totale quote non disponibile";
            } else {
                
    $this->quote_ass $count['totale_quote_ass'];
                return 
    $this->quote_ass;        }    } 
    Il blocco funziona perfettamente fino a che nella tabella ci sono records, caso non scontato. Mentre quando è vuota, le due funzioni passano l'errore "mysql_fetch_assoc() expects parameter 1 to be resource boolean given". E' un comportamento che non avevo previsto dal basso della mia inesperienza.

    Volevo risolvere la questione con un blocco try-catch, di cui ci sono svariati esempi anche su php.net, ma ho trovato pochissime spiegazioni sul funzionamento e non riesco a modularlo a dovere.

    Le eccezioni possibili sono:
    1) connessione db fallita (QuoteAss)
    2) tabella records vuota (deve scrivere "Nessun record presente") (QuoteAss)
    3) tabella records vuota (deve scrivere "Totale 0") (TotaleQuoteAss)

    Le mia domande sono:

    1)si può fare con try-catch o è meglio giocarsela con dei semplici if?
    2)qual è l'ordine logico del codice? dagli esempi si capisce che il try è il codice da provare con le varie eccezioni da lanciare in caso di errore. Il catch va nella medesima funzione o nell'implementazione della pagina? Su questo più leggo esempi, più mi confondo le idee.


    Grazie mille!
    Ultima modifica di Korenaar; 05-05-2014 a 13:54

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