On Error Resume Next真的是害人啊。。

2008-12-11 18:01| 分类:服务器| 标签: | 714 次点击

一个站点,前台展示页面是一个UTF-8编码,后台程序用的是GB2312。

前台UTF-8,是因为前台用到了大量的Ajax评论,UTF-8方便,不用转码。

后台GB2312,是因为后台有Upload程序,用到了ASPupload组件,当时在虚拟主机上时用UTF-8会出现问题,所以全部就改为了GB2312,现在虽然在服务器上但懒得改回UTF-8,还未测试UTF-8有无问题)

前台和后台放在同一个服务器上,程序分别用两个目录,因为使用同一个数据库,所以我引用了同一个conn.asp文件(前台的那个),但接下来问题一大堆。最可怕的是没有错误提示,出错时只是一个空白页,到最后才发现原来是conn.asp的编码问题。因为ASP程序中写了On Error Resume Next,所以都没有错误提示。

解决办法,注释掉On Error Resume Next,在两个目录下(其实就可以看成两个站点了,前后台程序之间没啥关系)分别放两个conn文件,一个UTF-8编码,一个GB2312编码。让每个站点的根文件夹下都有conn文件,在转移网站程序时也比较方便。

尤其是网上的一些ASP实例,常常用到了On Error Resume Next,然后使用了代码里自己写的错误提示,这样子有的错误也会提示,但没考虑到的错误就不会提示了。如果久没接触ASP,突然用起来很容易忽略这一点,调试起来因为没有错误提示你不会意识这已是个错误!我就是这样,调试了一整天。

另外,这次转移服务器的调试,因为代码中加了On Error Resume Next,除了以上提到的代码编码的错误没有提示外,还有很多错误也都没有提示,比如:上传的文件夹不存在、加水印的组件不支持、文件夹没有更改的权限,这些通通都没提示,调试起来着实浪费时间。

相关文章

  1. 1条评论

  2. chester 2009-02-02 9:52

    怎么说呢,有时候还是要的,比如容错处理的时候。。。。

    [回复]

发表您的评论

您的昵称:
您的邮箱:(可选,不会被公布)
您的网站: