On Error Resume Next
Gör pryl som kan generera fel
If Err <>0 then
...så har du Err-objektet att tillgå, där Err.Source, Err.Description och Err.Number är intressantast. M.h.a. Err.Number kan du skriva dina egna felmeddelanden
end if
------------------
----------------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Norrköping
ASP/VB/Perl/PHP/Tango
Visst kan du använda endast ett meddelande, men du måste ändå explicit fånga alla fel, med On Error Resume Next.
blablablablabla.....
On Error Resume Next
conn.execute("SÄLLACKT STJÄRNA FRÅMM DATABASEN")
if Err.Number<>0 then
response.write "Hoppsan!"
else
response.write "Tack!"
end if
Vill du fånga flera fel, utan att stanna (på egen risk), kan du göra så här:
blablablabla.....
On Error Resume Next
Gör något som kan bli fel
CheckErr
blablabla.....
On Error Resume Next
Gör något annat som kan bli fel
CheckErr
blablabla....
if strLongError<>"" then
with response
.write "<table border=1>
.write "<tr><td>Felnummer</td><td>Beskrivning</td><td>Källa</td></tr>"
.write strLongError
.write "</table>"
end with
end if
Sub CheckErr()
if Err.Number<>0 then
strLongError=strLongError & "<tr><td>" & Err.Number & "</td><td>" & Err.Description & "</td><td>" & Err.Source & "</td></tr>"
end if
End Sub
------------------
----------------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Norrköping
ASP/VB/Perl/PHP/Tango
Jag har ingen möjlighet att testa detta just nu, men tänkte att jag kunde slänga in en fråga och få det bekräftat.
Är det så här du menar?
<%
On Error Resume Next
Set Connection = Server.CreateObject("ADODB.Connection")Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\internet.mdb"
SQLStmt = "SELECT * FROM Tabell"
SET RS = Connection.Execute(SQLStmt)
if Err.Number<>0 then
response.write "Hoppsan! Det har skett något fel, var god emaila oss om vad som hände."
else
%>
Detta är den normala hemsidan om det inte blev något fel när man försökte köra SQL frågan.
<%end if%>