Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

Forum
  COMMUNITY
      OFF-TOPICS
         Gestione eccezioni

Gestione eccezioni

Autore Messaggio
Mordred

Amatore
Amatore
29 Discussioni



Profilo - Mordred
15 maggio 2006 alle 12:24:13 Profilo - MordredInvia un messaggio privato Rispondi quotando
Salve a tutti,
sto sviluppando un sito con aspnuke su aruba utilizzando un db mysql fornito sempre da aruba.
Ho provato a gestire le eccezioni del mysql (ma anche quelle generiche) con:
Try
....
Catch ex As Exception
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace)
End Try


MySql = "SELECT ..."
On Error Resume Next
rs.open MySql, Conn
If err.Number <> 0 then
[qui gestisci l'errore]
End If


<%@LANGUAGE="VB Script" CODEPAGE="1252"%>
<%

' Abilita il buffer di esecuzione
Response.Buffer = true

' Abilita la gestione degli errori
On Error Resume Next

' Codice ASP della pagina
' [...]

%>
<_html>
<_head>
<_title>Pagina<_/title>
<_/head>

<_body>
<%

' Punto di controllo degli errori
if Err.Number <> 0 then

' Svuota il buffer di elaborazione
Response.Clear()

' Mostra un messaggio di errore
Response.Write("Si è verificato un errore in fase di esecuzione.<br>")
Response.Write("Tornare alla pagina precedente e riprovare.")

else

' Mostra il contenuto della pagina,
' il risultato dell'elaborazione o quanto desiderato.

end if

%>
<_/body>
<_/html>


Nessuno sembra funzionare, il server risponde con una pagina di errore tipo: pagina non trovata altrimenti funziona tutto.

Come faccio a gestire le eccezioni? Può dipendere da aruba?

Grazie.
---------------
WebMaster: http://www.mordred.it
WebMaster: http://www.morteck.it
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
15 maggio 2006 alle 13:18:42 Profilo - emuInvia un messaggio privato Rispondi quotando
Aspnuke gestisce gia' la maggior parte delle eccezioni, utilizzando la "on error resume next", quindi non hai bisogno di gestirle tu.
Comunque dovresti studiare bene il linguaggio VB Script, prima di provare a scrivere il codice.
Ciao
---------------
development@aspnuke.it
Mordred

Amatore
Amatore
29 Discussioni



Profilo - Mordred
15 maggio 2006 alle 13:24:06 Profilo - MordredInvia un messaggio privato Rispondi quotando
Io ho bisogno di gestire le eccezioni in base al tipo di errore generato. Con la "on error resume next" (che da un paio d'ore non funziona più, mentre prima funzionava) mi stampa l'errore a video mentre io devo poter gestire la cosa in modo da visualizzare un mio messaggio all'utente o in alcuni casi far eseguire qualcosa di diverso al programma.

Le prove che ho postato le ho trovato in giro su internet, non me le sono inventate.
---------------
WebMaster: http://www.mordred.it
WebMaster: http://www.morteck.it
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
15 maggio 2006 alle 13:40:24 Profilo - emuInvia un messaggio privato Rispondi quotando
Modificato il 15 maggio 2006 alle 13:42:33

Appunto.
Per poter scrivere codice abbastanza sofisticato come quello per la gestione delle eccezioni, il codice bisogna saperlo scrivere, non cercarlo in giro.
Infatti non ti sei accorto che nel codice da te trovato viene usata l'istruzione "Try", che in VB Script NON ESISTE.
Ti copio un esempio dal codice di Aspnuke:

On Error Resume Next
oCn.Open sConnString
If Err.number <> 0 Then
Response.Write "<br>" & GetTranslation("LANG_SQL_ERROR")
If IsAuthorizedBin(ROLE_ADMINISTRATOR) Then
Response.Write " " & Err.number & ": " & Err.Description & "<br>"
Response.Write "Connection String : " & sConnString & "<br>"
End If
Err.Clear
End If
On Error Goto 0

Come vedi, in questo esempio, l'istruzione "on error resume next" ci consente di intercettare l'errore e di scrivere quello che vogliamo a video (si potevano scrivere cose diverse in base al valore di Err.number).
Ciao
Mordred

Amatore
Amatore
29 Discussioni



Profilo - Mordred
15 maggio 2006 alle 15:02:00 Profilo - MordredInvia un messaggio privato Rispondi quotando
Ti ringrazio per la tua pazienza, purtroppo non sono molto pratico di VB.
Comunque avevo anche provato con un codice simile a quello postato da te ed ho notato che quando ho un errore in mysql, il codice Err.number è uguale a 0.
Come posso fare per gestire le eccezioni (sql e non)?

Grazie.
---------------
WebMaster: http://www.mordred.it
WebMaster: http://www.morteck.it

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 173
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 446 Notizie: 180 Sondaggi: 11 Preferiti: 5378744 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi