Error Handling Classic Asp
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies try catch asp of this site About Us Learn more about Stack Overflow the company classic asp on error goto Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users on error resume next Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a
On Error Goto 0
minute: Sign up Is try-catch like error handling possible in ASP Classic? up vote 26 down vote favorite 9 What options are there in ASP Classic for error handling? For example: I'm using the Mail.SendMail function but when switching on the testing server it doesn't work, which is normal. I want to test if mailing is possible, if not then continue and/or exception handling in classic asp show a message. Any ideas? error-handling asp-classic share|improve this question edited Nov 19 '11 at 2:52 casperOne 58k10126202 asked Jan 23 '09 at 11:08 Sander Versluys 23k186785 add a comment| 8 Answers 8 active oldest votes up vote 37 down vote accepted There are two approaches, you can code in JScript or VBScript which do have the construct or you can fudge it in your code. Using JScript you'd use the following type of construct: In your ASP code you fudge it by using on error resume next at the point you'd have a try and checking err.Number at the point of a catch like: <% Dim i ' Turn on error Handling On Error Resume Next 'Code here that you want to catch errors from ' Error Handler If Err.Number <> 0 Then ' Error Occurred / Trap it On Error Goto 0 ' But don't let other errors hide! ' Code to cope with the error here End If On Error Goto 0 ' Reset error handling. %> share|i
Forums Links DISCUSSIONARCHIVES DISCUSSIONARCHIVES2 DISCUSSIONARCHIVES3 BLOG We didn't realize the site was asp on error goto so popular. Other Stuff How To Use On Error
Asp On Error Goto 0
Resume Next Often when using ASP or Active Server Pages with VBScript you will find it necessary
Asp Error Number
to check for errors when you do certain things that may fail and then handle it accordingly. Things like opening a database connection or writing to a text http://stackoverflow.com/questions/472558/is-try-catch-like-error-handling-possible-in-asp-classic file come to mind. Generally if an error is encountered in your .asp file, the processing of your script stops and an error message is returned to the browser. If you want to continue processing your page even if an error is encountered, include the following line at the beginning of your .asp file: <% On Error http://www.powerasp.net/content/new/on-error-resume-next.asp Resume Next %> That being said just ignoring errors in your code is not a very good idea. What you really want to do is handle the error in some way. The example below opens a database connection and shows you how to trap a potential error and do whatever you want because of it. In this case we are simply displaying the error. <% ConnectionString = "DBQ=c:\inetpub\wwwroot\mysite\data\mydatabase.mdb;Driver={Microsoft Access Driver (*.mdb)};" '*** This code checks the ConnectionString info you entered and reports back the error code if it is not ok Err.Clear On Error Resume Next Set ConnPasswords = Server.CreateObject("ADODB.Connection") ConnPasswords.Open ConnectionString If Err.Number <> 0 Then Response.Write (Err.Description& "
") Response.Write("This means there is most likely a problem with the" & vbCrLf) Response.Write("""ConnectionString"" info that you specified.
" & vbCrLf) Response.End End If On Error GoTo 0 %> We put the "On Error GoTo 0 at the end because that will essentially end the "on error resume next" That is somethin
Tutorials MSDN Communities Hub Official Docs Security Stump the SQL Guru! XML Info Information: Feedback Author an Article Published: Thursday, June 03, 1999 Error Handling in ASP You just finished your ASP application in time, barely making the http://www.4guysfromrolla.com/webtech/060399-1.shtml dealine! As you upload the final version to the webserver, you receive an email from your supervisor indicating that he's ready for your demo. You confidently stride into his office and give him instructions on accesses the application through the Intranet. -continued- Your boss comes to the first page, and is asked to enter his name. You've created a slick, customized feel to the site, recording the user and his on error or her preferences in a database. Your boss types in his name, "The Pointy Haired Boss," and hits the submit button. Instead of being taken to the next page, he sees the following text pop up on the screen: Microsoft OLE DB Provider for ODBC Drivers error ' 80004005' [Microsoft][ODBC Access 97 ODBC driver Driver] syntax wrong near ' Please note that I just made this error message up, so, please, on error goto no emails asking about how one gets this error by entering his name! You get one of those looks from your boss, a look that says, "I hope you weren't expecting a positive performance review." There's nothing worse to an end user than to see those dreaded ADO errors. They are misformatted, cryptic, and leave the user wondering what they are suppose to do. Your average end user doesn't know ODBC from OLE. So how can you prevent these nasty error messages? First you must insert at the top of your ASP page:
<% On Error Resume Next %>This will tell ASP to just skip over any errors, instead of halting execution and printing out a nasty error message. You may be tempted to leave it at this, although if you do, and errors occur, your users won't be aware of them. They will think their information was correctly saved, when in actuality it wasn't due to an ADO error. What, then, do we want to do if there is an error? Well, the idea situation would be to let the end user know that an error had occurred and will be worked on, and automatically email technical support with the ADO error messages. So that