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

    Gestione errori con include

    Ciao a tutti, il mio sito è composto da molti file di inclusione, per gestire varie funzioni e connessioni al database.
    Vorrei implementare una gestione errori, in modo che se si verificano problemi ad esempio con il server mysql, invece di visualizzare il classico errore di IIS venisse mostrato qualcosa di personalizzato.
    Cosi ho creato una pagina di gestione errore, l'ho testata generando un errore al suo interno ed è andato tutto ok.
    Quando però ho incluso il file all'interno del sito, e ho provato a generare un errore in un altro include, non è stato mostrato l'errore personalizzato.
    Penso che la gestione degli errori venga quindi eseguita all'interno del singolo file, prima che esso venga incluso nella pagina di destinazione.
    Esiste quindi un modo per permettermi di gestire gli errori di tutte le pagine incluse nella principale senza dover inserire manualmente il codice per la gestione in ognuna di esse?

    codice:
    Esempio: l'errore si verifica nel file connessione.asp, il file gestione_errore.asp
    che dovrebbe gestire il tutto non elabora l'errore verificatosi nell'altro include.
    
    ----------------------------------------------
    | home.asp                                   |
    |                                            |
    |                                            |
    |      |
    |                                            |
    |                                            |
    |   |
    |                                            |
    |                                            |
    | 'Codice della pagina                       |
    |                                            |
    |                                            |
    |  |
    ----------------------------------------------
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  2. #2
    il discorso è che invece di usare gli include, ogni volta che pensi che ci sia un errore lanci una funzione per gestire l'errore, non lo lasci gestire da una pagina inclusa

    tipo:
    codice:
    connToMysql.open
    if err.number<>0 then
    'chiamo la funzione
    errorHandler(err) 'forse err è opzionale come parametro
    err.clear
    end if
    
    
    function errorHandler(err)
    response.redirect("errore.asp?errType=" & err.type)
    end function
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    quando parli di "pagina di gestione dell'errore" intendi una pagina con un messaggio di errore personalizzato, o hai creato una funzione che "gestisce" veramente l'errore.

    Ad esempio se il database è offline, la gestione dell'errore consiste nell'usare un database secondario, etc...

    In questo caso è chiaro che ti conviene gestire l'errore all'interno di ogni singola funzione, se la tua intenzione è solo di personalizzare la pagina di errore, prova ad usare da IIS una pagina di errore personalizzata, guarda il file di sistema 505.asp per avere degli spunti.

    Una buona idea ad esempio è riscrivere la pagina 505.asp in modo che non visualizzi il dettaglio dell'errore all'utente, ma lo invii via email ad una tua casella di posta elettronica per permettere il debug e ricevere cosi' la segnalazione di errore.

    La pagina potrebbe poi rispondere all'utente qualcosa tipo : "si è verificato un errore, i nostri tecnici sono stati avvisati e provvederanno a risolvere il problema quando finisce Amici di Maria de Filippi" :-)

    Ciao
    Piero
    ====================
    Piero Dee
    www.giggino.com

  4. #4
    Per pagina che gestisce l'errore intendo che ho una pagina .asp nella quale ho inserito la classica funzione per mostrare un errore piu "umano" all'utente, piuttosto che la classica pagina predefinita con l'errore di asp.
    La pagina di gestione dell'errore non fa altro che mostrare a video l'errore in questo modo:

    If Err.Number <> 0 Then
    Response.Write "Si è verificato il seguente errore....."
    End If

    Volevo inserire questa funzione in un include per gestirla da un unico file senza doverla implementare manualmente in ogni pagina.
    Ma mi sembra di aver capito che non è possibile catturare la variabile err.number della pagina "madre" in un file incluso in essa.
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

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.