foreverdita
asked on
VBScript "On Error Resume Next"
Hi. I have a page that sends information to the back end of our system.
If the back end is down I would like it to store the information in a database.
Is there a way to use "on error" to call a function instead of "resume next"?
What I would like is to head my page like this:
<%
on error call process()
but that doesn't seem to work.
Can someone help???
If the back end is down I would like it to store the information in a database.
Is there a way to use "on error" to call a function instead of "resume next"?
What I would like is to head my page like this:
<%
on error call process()
but that doesn't seem to work.
Can someone help???
Actually Im wrong, you cant do that in ASP.
Your best bet is a custom error page.
http://www.devarticles.com/c/a/ASP/Replacing-the-Error-500-ASP-Page/
Your best bet is a custom error page.
http://www.devarticles.com/c/a/ASP/Replacing-the-Error-500-ASP-Page/
about On Error Resume Next: check this out: https://www.experts-exchange.com/questions/20935596/discussion-avoinding-and-using-On-Error-Resume-Next.html
ASKER
I am getting this error:
Microsoft VBScript compilation error '800a03ea'
Syntax error
/newsitedesign/requestcata log/Proces scatalog.a sp, line 2
on error call process
---------^
Microsoft VBScript compilation error '800a03ea'
Syntax error
/newsitedesign/requestcata
on error call process
---------^
ASKER
OK, got that last message. Is there, then, a way I can use the socket timeout script to call the function? Such as:
if socket.timeout = "true" then
????
Is there something like that that would work?
if socket.timeout = "true" then
????
Is there something like that that would work?
That was a typo on my part, meant to put Goto Process. Neither will work anyway, so its irrelevant. Error handling is primitive in ASP , not like VB really.
As I suggested, a custom 500 error page is probably the best option for dealing with errors. I use them to display an error message from a branded page, and it also emails me details of the error when they happen so I know theat there is a problem on the page...
As I suggested, a custom 500 error page is probably the best option for dealing with errors. I use them to display an error message from a branded page, and it also emails me details of the error when they happen so I know theat there is a problem on the page...
Hi foreverdita,
The "On Error Resume Next" statement just enables error handling in your script; it doesn't actually call a procedure. The way to use thi is to tuen on error handling using the "On Error Resume Next" statement, execute a statement, and the trap your errors:
<%
On Error Resume Next 'enable error handling
' do domething:
cnn.Open
'handle possible errors:
If Err.Number <> 0 Then Response.Write "Error number:" & Err.Number ' for example
%>
you can find a detailed good reference on using error handling in vbscript here: http://www.juicystudio.com/tutorial/asp/err.asp
The "On Error Resume Next" statement just enables error handling in your script; it doesn't actually call a procedure. The way to use thi is to tuen on error handling using the "On Error Resume Next" statement, execute a statement, and the trap your errors:
<%
On Error Resume Next 'enable error handling
' do domething:
cnn.Open
'handle possible errors:
If Err.Number <> 0 Then Response.Write "Error number:" & Err.Number ' for example
%>
you can find a detailed good reference on using error handling in vbscript here: http://www.juicystudio.com/tutorial/asp/err.asp
>>If the back end is down I would like it to store the information in a database.
Hmmm, if the backend is down, the database will be down won't it....because the database is the backend. So you can't write to DB anyway....you could write to text file at best.
Hmmm, if the backend is down, the database will be down won't it....because the database is the backend. So you can't write to DB anyway....you could write to text file at best.
ASKER
Socket.TCP error '8000ffff'
Error while processing Socket opperation: Connection refused
/newsitedesign/requestcata log/Proces scatalog.a sp, line 106
Here is the error that comes up when our back end is down. (I turned it off for demonstration). The databases will still be up as they are seperate from the back end system.
Error while processing Socket opperation: Connection refused
/newsitedesign/requestcata
Here is the error that comes up when our back end is down. (I turned it off for demonstration). The databases will still be up as they are seperate from the back end system.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks Slimshaneey - that worked. Much thanks!
It doesn't work with me...
I have:
*default.asp
<!--#include file="errorpage.asp"--> 'to view the error descr.
<%if error<>0 then
dim errorobj
set errorobj = new CError 'from errorpage.asp
errorobj.displayerror
set errorobj = nothing
end if
%>
*newpage.asp
<!--include file="default.asp"-->
<%on error goto 0%>
<%
'here some code to generate error
%>
I do get an error message, but that standard error, and not the errorpage.asp
Howcome?
Regards
ThaZar
I have:
*default.asp
<!--#include file="errorpage.asp"--> 'to view the error descr.
<%if error<>0 then
dim errorobj
set errorobj = new CError 'from errorpage.asp
errorobj.displayerror
set errorobj = nothing
end if
%>
*newpage.asp
<!--include file="default.asp"-->
<%on error goto 0%>
<%
'here some code to generate error
%>
I do get an error message, but that standard error, and not the errorpage.asp
Howcome?
Regards
ThaZar
ThaZar - you cannot add onto old questions with you're own questions. If you need assistance, then you can post a new questions to the forum, and Experts will assist you.
Thanks.
Thanks.
<%
On Error Resume Next
<%
'Your asp code...
'Check for Errors
If Err <> 0 Then 'An Error occurred
Call UpdateProcess()
Else 'No errors,
'Disable the On Error Resume next, sloppy coding...
On Error Goto 0
End If
%>
Sorry for the 4 year post update but I believe this would be more useful should someone be looking.
<% @ Language="VBScript" %>
<%
Option Explicit
On Error Resume Next
Sub ProcessErrors()
'Optionally you can redirect to an error page or processing page
'Response.Redirect("ErrorProcessor.asp")
Response.Write "Error: " & Err.Number & "<br>" & Err.Description
Response.End
End Sub
'Cause an Error
Resonse.Wite("This is not correct for a reason")
If Err.Number <> 0 AND Then
'Optionally you can change the Number to suite your needs
'err.number <> 0 and err.number<>9 and err.number<>5 and err.number<>13 and err.number<>94 and err.number<>424 and err.number<>3265
ProcessErrors()
End If
On Error GoTo 0 'Now Halt on errors
Response.Write("Hey no errors I care about were found")
%>
<%
on error call process
Then Have this at the end of the page
<%
process:
'Code to do stuff
%>