javascript asp教程错误处理
作者:
The ASPError Object has zero (0) Methods, nine (9) Properties, zero (0) Events, and zero (0) Collections.
AspCode |
AspDescription |
Category |
Column |
Description |
File |
Line |
Number |
Source |
The way you access the ASPError Properties is with a Server Method. Yeah, I know; it doesn't make sense. Start with something like
Below is the script for Lesson 15.
<%@LANGUAGE="JavaScript"%> <!-- METADATA TYPE="typelib" FILE="C:\Program Files\Common Files\System\ado\msado15.dll" --> <% try { Response.Write("<STRONG>Use <I>GetLastError( )</I><BR></STRONG>\r") myError = Server.GetLastError() Response.Write("myError.Line: " + myError.Line + "<BR>\r") Response.Write("myError.File: " + myError.File + "\r") Response.Write("<HR>\r<STRONG>") Response.Write("Now an intentional error...") Response.Write("<BR></STRONG>\r") myError = erver.GetLastError() //this line causes an error Response.Write("myError.Line: " + myError.Line + "<BR>\r") Response.Write("myError.File: " + myError.File + "<BR>\r") } catch(myDumbError) { Response.Write("There is an error: " + myDumbError) %> <BR> Graceful error handling goes here (inside the catch statement). Make it as simple or sophisticated as you like.<BR> <HR> <STRONG>Now let's break down the error Object.</STRONG><BR> <% for ( var i in myDumbError) { Response.Write(i + ": " + myDumbError[i] + "<BR>\r") } } finally { Response.Write("<HR><STRONG>Let's Finish Up.</STRONG><BR>\r") Response.Write("Code inside the <I>finally { }</I> statement ") Response.Write("executes regardless of error (or lack thereof). \r") Response.Write("<I>finally{ }</I> is totally optional. ") Response.Write("It's a good place for things like RS.Close()... ") Response.Write("which you'll see later on.") } %>
Click Here to run the script in a new window.
Okay, so what happened to On Error Resume Next? Sorry, that ain't no JavaScript thing. So, what about onerror? That won't work on the server side. But thanks to some core JavaScript we have some error handling.
The section of script for which you wish to provide error handling goes inside the try { } statements and the what-to-do in the event of an error goes inside the catch { } statement. There is also a finally { } statement (optional). The whole thing is just as graceful as On Error (in my opinion).
Not every ASP server allows you access to the ASPError Object. So, don't be surprised if ASPError gives you an error.