65 messaggi dal 01 agosto 2003
Ciao a tutti,
vorrei gestire un'eccezione (tipo SqlException) non a livello di singola pagina ma dell'intera applicazione... ovvero ogni qualvolta viene sollevata questa eccezione dovunque capiti!
In pratica un blocco try... catch che valga sempre
Si può fare? Come si fa?

Ciao e grazie.
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

Nel global.asax c'è un delegate che si chiama Application_Error. Questo viene scatenato ogni volta che nell'applicazione c'è un errore non gestito. Li dentro puoi utilizzare il metodo Server.GeLastError() per ottenere l'eccezione, ma comunque sei fuori dal contesto della pagina.
HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
65 messaggi dal 01 agosto 2003
Ok, così funziona! Grazie...
Per caso c'è un modo per gestire un'eccezione particolare in modo da poter visualizzare messaggi di errore diversi a seconda dell'eccezzione sollevata?
Del tipo se l'eccezzione sollvata da Server.getlasterror() è sqlexception fai questo altrimenti fai questo....


Grazie!
Potresti fare una cosa del genere:

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
    Dim ex As Exception = Server.GetLastError()
    If (TypeOf (ex) Is SqlException) Then
        'Handle it...
    End If
End Sub

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
65 messaggi dal 01 agosto 2003
Perfetto!!
Grazie mille...
Figurati!

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.