Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!
L'Oggetto AspError
|
Si ringrazia Matteo Gentile per la concessione del materiale pubblicato in questo articolo.
|
Esaminiamo ora un altro degli Oggetti intrinseci di ASP, l'Oggetto
ASPError. Il suo compito è quello di spiegare e segnalarci meglio un errore
ottenuto durante l'esecuzione dello script ASP processato. Non utilizzandolo
infatti, in presenza di un errore viene mostrata tipicamente la pagina bianca
con la scritta "Impossibile visualizzare la pagina" con di seguito una serie di
informazioni, ma non sempre è molto chiaro capire l'errore che è stato
commesso. Utilizzando questo Oggetto, se durante l'esecuzione dello script
ASP viene a verificarsi un errore, lo stesso script verrà interrotto e verrà
richiamato il codice che abbiamo predisposto per spiegare meglio
l'errore. Con la riga:
On Error Resume Next
attivo “l’esclusione” dell’errore. L'aspError, come dice il nome stesso,
è in grado però di mostrare e gestire solo gli errori riguardanti il codice
Active Server Page. Se ho quindi altri tipi di errori non è utile. E’ comunque
una cosa molto importante soprattutto se faccio delle pagine molto complicate,
in cui quindi la possibilità di errore è elevata. L'Oggetto ASPError è
ritornato dal metodo
Server.getLastError
e possiede soltanto proprietà di sola lettura. Esaminiamo ora la
sintassi:
ASPError.Proprietà
Il modello è invece:
AspCode |
Ritorna il codice di errore generato da IIS. |
Number |
Ritorna il codice COM standard di errore. |
Source |
Ritorna l'attuale codice sorgente, se disponibile, della linea che ha
causato l'errore. |
Category |
Indica se la srogente dell'errore è interno ad ASP, nel linguaggio di
scripting o un'oggetto. |
File |
Indica il nome del file ASP che era processato al momento
dll'errore. |
Line |
Indica il numero della linea in cui è avvenuto l'errore. |
Column |
Indica il numero della colonna in cui è avvenuto l'errore. |
Description |
Ritorna una breve descrizione dell'errore. |
AspDescription |
Ritorna una descrizione più dettagliata dell'errore se è un errore
correlato ad ASP. |
Vediamo ora un semplice esempio di utilizzo per la Connessione
ad un database:
On Error Resume Next ..... Set DBConn=
Server.CreateObject("ADODB.Connection") 'Questo genera un errore perchè il
percorso è sbagliato StrConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data
Source = c:\Database.mdb;" DBConn.Open strConn .... IF
DBConn.Errors.Count>0 THEN Response.write "<HR>Debug:<BR>"
Response.write "Impossibile aprire il database.<BR>"
Response.write "Ecco gli errori generati: <ol>" FOR i = 0 TO
DBConn.Errors.Count -1 ErrNum = DBConn.Errors(i).Number IF ErrNum
<> 0 THEN Response.write "<li>ADO Error: # " & ErrNum
Response.write "<br>Descrizione: " & DBConn.Errors(i).Description
Response.write "<br>Source: "& DBConn.Errors(i).Source
Response.End END IF NEXT Response.Write "</ol>" END IF
Se non si sono verificati errori il contatore è nullo e la proprietà Number
anche. Se invece si sono verificati errori allora vengono mostrati su schermo
con una breve descrizione
Note
Quando IIS incontra un errore in fase di compilazione o di esecuzione di un
file ASP genera un errore custom 500;100. Per default tutti i siti web
trasferiscono il processamento dell'errore 500;100 al file default.asp. Dopo
la generazione di un errore 500;100 inoltre IIS crea un'istanza dell'Oggetto
ASPError che descrive la condizione dell'errore.
|