VBScript "On Error Resume Next"

Posted on 2004-04-28
Last Modified: 2012-06-21
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???

Question by:foreverdita
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
  • 2
  • +5
LVL 11

Expert Comment

ID: 10939160
Change to

on error call process

Then Have this at the end of the page
'Code to do stuff
LVL 11

Expert Comment

ID: 10939185
Actually Im wrong, you cant do that in ASP.
Your best bet is a custom error page.
LVL 28

Expert Comment

ID: 10939195
about On Error Resume Next: check this out:
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 10939219
I am getting this error:

Microsoft VBScript compilation error '800a03ea'

Syntax error

/newsitedesign/requestcatalog/Processcatalog.asp, line 2

on error call process


Author Comment

ID: 10939249
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?
LVL 11

Expert Comment

ID: 10939254
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...

Expert Comment

ID: 10939267
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:
'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:
LVL 31

Expert Comment

ID: 10939313
>>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 could write to text file at best.

Author Comment

ID: 10939333
Socket.TCP error '8000ffff'

Error while processing Socket opperation: Connection refused

/newsitedesign/requestcatalog/Processcatalog.asp, 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.
LVL 11

Accepted Solution

Slimshaneey earned 500 total points
ID: 10939387
On line 105 put this code
On error resume Next

The connect to the socket as normal

on the next line,
If err.Number <> 0 then
'Will redirect to another page if there is an issue with socket
Response.redirect "Some ErrorPage"
End if
'Reset the error handler
On Error Resume 0

Author Comment

ID: 10939492
Thanks Slimshaneey - that worked.  Much thanks!

Expert Comment

ID: 11841420
It doesn't work with me...

I have:

<!--#include file="errorpage.asp"--> 'to view the error descr.
<%if error<>0 then
dim errorobj
set errorobj = new CError 'from errorpage.asp
set errorobj = nothing
end if

<!--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


LVL 31

Expert Comment

ID: 11841487
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.


Expert Comment

ID: 12203984

   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       



Expert Comment

ID: 22837529
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.Write "Error: " & Err.Number & "<br>" & Err.Description
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
End If
On Error GoTo 0 'Now Halt on errors
Response.Write("Hey no errors I care about were found")

Open in new window


Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Call a function within the ASP code 4 30
JS does not refresh 6 42
edit .asp files 5 60
Pass SQL to JSON. Page is in classic ASP and using Jquery 4 53
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: and…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
In a recent question ( here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question