简单介绍
asp是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用asp编写的商业网站,大多数都忽略了错误处理。 错误的类型
有三种主要的错误类型:
1.编译错误:
这种错误出现一般都是代码的语法问题。因为编译错误而导致辞asp停止运行。
2.运行错误:
这个错误是发生在你准备运行asp时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。
3.逻辑错误:
逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。它都终止asp的运行,而且给用户丢下一堆很不友好的文字。 那么我们要怎样处理运行错误呢?
我们先来看看,asp唯一提供给我们的错误命令---on error resume next(这里提醒一下初学者,在asp中只有on error resume next语句,没有on error resume goto语句) 如果你不使用on error resume next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且asp程序也会停止。 下面就是一个错误代码:
microsoft ole db provider for odbc drivers error 80004005 [microsoft][odbc driver manager] data source name not found and no default driver specified /test.asp, line 60
当我们在程序最上面使用on error resume next语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有 不好的地方,那就是如果程序没有按照你想像的执行的话,你就很难找到到底是哪里出了问题,所以你就得在必要的地方对错误进行处理。
处理错误
在asp中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。我也推荐在每个asp程序都使用缓冲区。这样的话,如果错误发生,页面就会停止, 页面内容也会被清除,这样用户就不会看到错误信息,对你们的抱怨也就少了!下面是一个例子:
<%@ language="vbscript" %>
<%response.buffer = true
"设置buffer为true
on error resume next
"开始错误处理
%>
<%"错误处理
if err.number <> 0 then
"清除页面
response.clear
"显示错误信息给用户
%>
<html>
<head>
<title></title>
</head>
<body bgcolor="#c0c0c0">
<font face="arial">an error occurred in the execution of this asp page<br>
please report the following information to the support desk
<p><b>page error object</b><br>
错误 number: <%= err.number %><br>
错误信息: <%= err.description %><br>
出错文件: <%= err.source %><br>
出错行: <%= err.line %><br>
</font>
</body>
</html>
<%end if%>
你们上面看到了,我首先设置on error resume next ,这样出现错误就不会影响程序的执行。
错误处理和数据库
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器