[ASP中使用三层架构] 5.Error处理类

YOLO11-Seg优化:卷积变体系列篇 | 动态蛇形卷积(Dynamic Snake Convolution) | ICCV2023 动态蛇形卷积(Dynamic Snake Convolution),增强微小特征提取能力,引入到YOLO11-Seg,与C3k2结合实现二次创新 阅读详情

    看到有朋友说前面一章讲得没必要,想想也确实.本来是没有打算讲这些基础的,只是行文起来没有约束,就荡开到基础知识上面了.
    从这节开始,将会给大家介绍ASP中的三大通用类,它贯穿于我所设计的三层架构中,是对ASP语法的扩展,可以提高很多细节处理上的效率,可以算是一点点框架的味道.
    本节介绍错误处理类,类名Con_Error,在代码页面之初就进行初始化,实例名为e,以下的e.add 即使用该错误类的实例化对象进行操作.
    
    
    方法介绍:
    e.Add(ByVal vErrorMessage ) 记录一个错误,并且设置 e.Error = true . 在程序检测用户名合法性等地方发现错误时,就调用这个方法,记录一个错误信息.
    例如,用户登陆时密码错误,则调用 e.add("您的账号或密码错误") .这时候,错误对象e中便记录了一个错误,错误对象的属性e.Error=true .在后续操作中,可以使用错误对象的这个属性进行判断.
    例如:
    出现错误后弹出小窗口提示错误,并返回前一页.
    if e.Error then
        e.Alert_Back "请重新登录!"  'Alert_Back 的作用在后面介绍.
    end if
    

    e.Alert_Back(ByVal vMessage) 使用Javascript弹出一个错误提示框,显示目前所有的错误列表,Alert_Back(vMessage)中的vMessage显示在最后一行,用于提示用户在看到这个错误信息后需要采取的步骤.  并且返回到前一页. 这个方法的代码贴出来,大家会更好理解:
    Public Sub Alert_Back(ByVal vMessage)
        strJSMessage = JSMessage & vMessage     'JSMessage用于存储e对象中的错误列表,每个错误之间用/n分开.
        %>
        <script language="javascript" >
        <!--//
            alert("<%=strJSMessage %>");        '弹出提示错误框.
            history.back();                     '返回前一页
        //-->
        </script>
        <%
        response.end                            '注意这里要停止输出,避免出错的同时程序还继续执行.
    End Sub
    


    e.Alert_Back 方法延伸了几个类似效果的方法,如下一同介绍,实现的过程请看附加的源码:
    e.Alert(ByVal vMessage)     只弹出错误提示框,不返回前一页,也不停止程序的执行.
    e.Alert_Close(ByVal vMessage)   弹出错误提示框,当用户点击确定后,关闭当前窗口
    e.OK_Go(ByVal vMessage,ByVal vURL) 弹出信息提示框,当用户点击确定后,跳转到vURL页面
    e.Go(ByVal vURL)        直接跳转到vURL页面
    以上几个方法的作用,大家应该都很熟悉了,其实它们不仅限于错误处理的.
    
    
    e.Clear 清空错误对象中记录的错误信息 , e.Error = false
    因为e对象是一个全局的对象,可能在很多过程中都调用了. 当你只需要统计某一个模块中的错误时,可以在开始调用这个方法,清空e中的错误.
    
    
    以下几个是对Response.Write的包装,目的仅仅是为了使用时的方便快速.
    e.Debug(ByVal vMessage) 输出调试信息. 当程序完工时,其中会存在不少用Response.write 输出的错误调试信息,要都删掉又要细细地找. 使用e.Debug专门输出调试信息,当程序完成时,只需要搜索e.Debug,就可以找到所有的调试错误信息的位置.
    e.w(ByVal vMessage)  输出信息. 仅仅是Response.write的简单包装,在程序中输入e.w 比输入Response.write 不知道要方便多少,而且总是容易写错.
    e.BR    输出一个换行符,等同于 response.Write "<BR />"
    
    以下4个是对Response.End的包装,只是按照操作习惯,定义的几个一样功能的方法:
    e.Pause == Response.End
    e.P     == Response.End
    e.Stop  == Response.End
    e.End   == Response.End
    
    还有一个属性e.Message ,输出e对象中所有的错误列表
    具体的实现细节请看代码

 

Class Con_Error
    Private blnError
    private strMessage
    private strJSMessage
   
   
   
    Private Sub Class_initialize()
        blnError    = false
        strMessage  = ""
    End Sub
   
    Private Sub Class_Terminate()
       
    End Sub
   
   
    ' ==================================================================================
    ' Property
    ' ==================================================================================
    ' Message :
    Public Property Let Message(ByVal value)
        strMessage = value
    End Property
    Public Property Get Message()
        Message = strMessage
    End Property
   
    ' Error number
    Public Property Get Error()
        Error = blnError
    End Property
   
    ' JSMessage : show in messagebox
    Private Property Get JSMessage()
        strJSMessage = Replace(strMessage , "<br>" , "/n")
        strJSMessage = Replace(strJSMessage , vbCrLf , "")
        JSMessage    = strJSMessage
    End Property

   
   
   
   
   
    ' ==================================================================================
    ' Method
    ' ==================================================================================
   
    ' Add : add an Error message
    Public Sub Add(ByVal vMessage)
        blnError    = true
        strMessage  = strMessage & vMessage & "<br>"
    End Sub
   
    Public Sub Clear
        blnError    = false
        strMessage  = ""
    End Sub
   

    ' Alert
    Public Sub Alert(ByVal vMessage)
        strJSMessage = JSMessage & vMessage
        %>
        <script language="javascript" >
        <!--//
            alert("<%=strJSMessage %>");
        //-->
        </script>
        <%
    End Sub
   
    ' Alert_Back : alert and back
    Public Sub Alert_Back(ByVal vMessage)
        strJSMessage = JSMessage & vMessage
        %>
        <script language="javascript" >
        <!--//
            alert("<%=strJSMessage %>");
            history.back();
        //-->
        </script>
        <%
        response.end
    End Sub
   
   
    ' Alert_Close : alert and close
    Public Sub Alert_Close(ByVal vMessage)
        strJSMessage = JSMessage & vMessage
        %>
        <script language="javascript" >
        <!--//
            alert("<%=strJSMessage %>");
            window.opener = null;
            window.close();
        //-->
        </script>
        <%
        response.end
    End Sub
   
    '*********************************************
 'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
 '*********************************************
    Public Sub OK_Go(ByVal vMessage,ByVal vURL)
        strJSMessage = JSMessage & vMessage
        %>
        <script language="javascript" >
        <!--//
            alert("<%=strJSMessage %>");
            location.href = '<%=vURL %>';
        //-->
        </script>
        <%
        response.end
    End Sub
    Public Sub Go(ByVal vURL)
        response.Redirect vURL
        response.end
    End Sub

   
    '*********************************************
 'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
 '*********************************************
 Public Sub Debug (ByVal vMessage)
     response.Write vMessage
     response.flush
 End Sub
 ' ****** W : write
 Public Sub W(ByVal vMessage)
     response.Write vMessage
 End Sub
 ' ****** BR : write <br>
 Public Sub Br
     response.Write "<BR />"
 End Sub
 
 
 '*********************************************
 'Pause : response.end , mark debug info clearly
 '*********************************************
 Public Sub Pause
     response.end
 End Sub
 Public Sub P
     response.end
 End Sub
 Public Sub [Stop]
     response.end
 End Sub
 
 Public Sub [end]
     response.end
 End Sub

   
End Class

 

基于Python的FTA协定内容爬虫实战:从数据抓取到智能分析 本文将详细介绍如何使用Python构建一个高效的FTA(自由贸易协定)内容爬虫,涵盖最新技术如Playwright、异步IO、智能解析等。通过本教程,您将学会如何从各类政府网站和国际组织平台抓取结构化FTA数据,并对其进行清洗、存储和分析。文章包含完整的代码实现和最佳实践指南,适合中高级Python开发者学习网络爬虫开发。 阅读详情

相关推荐

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 841

asp error对象基础

ASPError Object 这个新增的,内置与ASP 3.0中的对象提供了一个以往版本中没有的专门用来处理错误的对象,这样,我们来操纵错误就可以成为可能了。 以前你可以使用VBScript中的On Error Resume Next或则JScript的try ... catch来捕获错误, 但是你不能够捕获到COM对象、或则内置的ASP对象中发生的错误 但是如果你要是使用了ASPError对象

随风飞翔 496

SpringDoc 基本使用指南

SpringDoc 凭借零配置启动注解简洁和深度兼容 Spring 生态的优势,已成为 Spring Boot API 文档的首选工具。自动化- 减少手动维护文档的成本;标准化- 严格遵循 OpenAPI 3 规范;可扩展- 分组、安全控制灵活适配复杂项目。访问即可查看交互式文档(默认路径)

墨鸦的博客 1万+

ASPError对象与asp自定义505错误处理页面

本文为Microsoft官方文档。描述如何在asp中使用Error对象以及使用自定义的错误页面。概要 本分步指南演示如何使用新的 ASPError 对象创建自定义的、集中的错误处理页。 例如,当发生错误并且系统中的某个进程尚未完成时,应用程序可能要求向某人发送电子邮件通知。 或者,您可能希望将 Internet Information Server (IIS) 错误日志信息以外的某些信息记录到

随风飞翔 2128

【Telephony】APN配置及加载流程&项目实践(AOSP)

学习APN关键是学会明白apns-conf.xml文件各个参数的意思,然后熟悉TelephonyProvider是如何读取文件创建数据库的,譬如数据库表的约束、文件的读写顺序等,还有读取后的ApnSetting的二次定制以及显示(例如屏蔽xcap等)。虽然一般在项目中APN的需求很简单,就是按照客户提供的APN参数添加上配置,或者在显示屏蔽一些参数,但是项目维护的过程中APN的问题也是比较多的。

weixin_44513784的博客 5514

Matlab实战:水声信号DEMON谱分析从入门到精通(附完整源码)

本文详细介绍了使用Matlab进行水声信号DEMON谱分析的完整流程,从基础理论到实战应用,涵盖信号预处理、包络提取、频谱分析等关键步骤,并附完整源码。特别针对水声通信中的低信噪比环境,提供了多种优化方案和性能提升技巧,帮助读者快速掌握这一水下目标检测的核心技术。

gamma的博客 296

ASPError(err)对象的相关基础知识

 在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检查Err.Number属性的值,判别是否出现了错误。如果出现错误,返回一个非零值。在ASP 3.0中,也可以使用On Error Goto 0“转回到”缺省的错误处理。在ASP 2.0中实际也进行这种处理,但是没有相应文档说明,这在很多asp数据相关处理文件

随风飞翔 1162

从虚拟机到双系统:手把手教你为Gromacs搭建最强Linux环境(含WSL2、Ubuntu22.04配置)

本文详细指导如何在Windows系统下为Gromacs分子动力学模拟搭建高性能Linux环境,涵盖WSL2和Ubuntu22.04双系统配置。通过对比虚拟机、WSL2和原生Linux的性能数据,提供GPU加速、内存优化等实用技巧,帮助科研人员提升计算效率。

weixin_30861797的博客 271

ASP技巧研究:ASP Error对象的相关知识

如果一个脚本或ASP错误出现在定制错误网页中,IIS将仅仅返回一个与错误代码500:100对应的一般性消息。这可能是脚本引擎自己的错误消息,或者只是相当简单的消息:“InternalServerError”。不会再次重新载入定制的错误网页。  包含错误的网页的全部环境将传送给定制错误网页。也就是说,可以使用存储在任何ASP内部对象集合或属性中的值。例如,如果检索来自Request.ServerVa

ZLXKS2008的专栏 833

使用 VPN 访问太理内部网相关问题总结【太原理工大学】

电脑连接 VPN,访问校园内部网相关问题总结,太原理工大学。

m0_52861684的博客 9883

Ollama最新快速上手指南:从安装到精通本地AI模型部署

想让Ollama跑你的"私房模型"?三种主流格式全支持,总有一款适合你!GGUF格式(推荐新手首选)创建Modelfile文件:执行创建命令:运行你的专属模型:PyTorch/Safetensors格式(适合进阶玩家)先用库测试模型能否正常加载确保模型结构完整后再导入Ollama官方文档有详细转换指南专业小贴士GGUF格式最轻量,PyTorch最灵活,Safetensors最安全遇到问题?试试用llama.cpp进行格式转换7B参数模型推荐使用q4_0量化级别想让AI用马里奥。

全世界的博客 2309

ASP ASPError 对象

ASPError 对象详解 ASPError 对象是 ASP 3.0 及以上版本中用于捕获和处理运行时错误的重要工具。它通过 Server.GetLastError() 方法获取,提供详细的错误信息,包括错误代码、描述、文件位置等核心属性。开发者可利用该对象进行错误调试、日志记录和友好错误提示。使用时需注意 IIS 配置(需启用自定义错误处理页面)和中文编码设置(建议使用 UTF-8)。典型应用场景包括记录错误日志到文件、在自定义错误页面显示错误详情等。注意避免向用户暴露敏感信息,建议对输出内容进行 HTM

likuoelie的博客 635

String+CytoScape构建PPI网络

1.下载CytoScape Cytoscape是一款专业强大好用的物生信息分析软件,主要达用于专业的研究人员使用,软件主要适用于整合模块化网络和生物科学联系网络图的绘制,支持多种文件格式,导入后就可以直接进行编辑或者分析等操作了,除此之外,软件还提供了强大的编辑工具,支持添加相应的注释信息,软件基于java环境组件打造。 下载地址:https://cytoscape.org/ 因为软件基于java...

xiaobai1_1的博客 1万+

在ASP中使用类(Class)

1在ASP中使用类(class)2在不入前的一天,当我为了解决一个语法问题来翻阅VBscript文档时,偶然间发现在了下面的一句话:34ClassStatement56Declaresthenameofaclass,aswellasadefinitionofthevariables,properties,andmethodsthat...

weixin_30515513的博客 1071

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ASP .NET之Application_Error应用程序级异常处理

ASP .NET之Application_Error应用程序级异常处理 Application_Error在哪 建立一个空网站后,在根目录下右键-添加新项,搜索全局应用程序类(这里我选择C#,另一个是VB),如图所示 然后打开Global.asax,就会找到Application_Error这个方法,啦啦啦。 有关Global.asax 这个文件后缀为asax,是一个全局应用程序类,一个项目中可以没有,如果有,就只能有一个。 Application_Error怎么用 首先,啥也别问,先敲下如下代码 vo

qq_44938451的博客 1982

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常

在ASP.NET MVC中,通过应用程序生命周期中的Application_Error事件可以捕获到网站引发的所有未处理异常。本文作为学习笔记,记录了使用Global.asax文件的Application_Error事件处理和捕获全局异常的详细步骤。 文章演示项目是使用vs2013编译器编写的,下载地址:GlobalExceptionHandle-By-Application_Error.z

pingqingbo的专栏 5257

使用 Application_Error 处理异常

当一个异常在调用堆栈中没有被处理,也没有被框架代码处理时,我们说这个异常未处理,它将被ASP.NET捕获,ASP.NET对此未处理错误的处理方法是显示一个页面,列出该未处理异常的详细情况。有两个在异常未处理时将被ASP.NET调用的事件:Page_Error event,它提供捕获在Page级别发生错误的方法。Application_Error event,它提供捕获在代码中的任何地方

江湖·郎中·路 4558

asp中的on error resume next

用了on error resume next则在这句往后的代码就算出错也会继续执行具体有没有错可以用err.number来判断err.number=0表示没有出错err.number具体什么错误可以用ASPError对象获得首先建立set objasperror=server.GetLastError 对象,接着由 ASPError 物件的属生取得相关信息:objasperror.ASPCode:

ASP DOT NET 1853

ASP.NET页面错误处理

ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件、Application_Error 事件以及应用程序配置文件 (Web.config)。 这里主要介绍Application_Error 事件的方法,这种方法能完整地显示错误信息。 1、添加Web.config, < system.web>< /system.web>中添加&l...

weixin_30530939的博客 784

ASP错误处理

ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。  错误的类型有三种主要的错误类型: 编译错误:这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。 运行错误这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。 逻辑错误逻辑

知已 870

ASP.NET 异常处理

在Asp.net开发过程中,我们会遇到很多Exception,不处理这些Exception的话会出现很难看的页面。还有一些我们未预料到的Exception,当发生Exception时,我们也必须进行记录具体位置,以便我们修正错误。asp.net异常处理的位置大概有以下3个地方1.

bl_song的专栏 860

Asp.net 2.0三层架构的构建与理解

三层架构分别是数据访问层 database access layer,业务逻辑层business logic layer,用户表现层(用户接口层) user interface layer.简称分别为DAL,BLL,UIL. 数据访问层主要是提供一些通用的对数据库进行操作的函数。业务逻辑层则调用这些函数完成某些功能,而用户表现层则又调用业务逻辑层的函数来使用这些功能。 说起来比较简单,但是到底是...

lovexuwenhao的专栏 112

ASP.NET中Application_Error事件使用注意

使用Application_Error事件可以对asp.net的异常信息进行处理。但是需要注意,Application_Error里面代码不能再抛出异常,否则会导致程序循环调用Application_Error事件,严重时iis立刻挂掉。建议使用保险一点的方法,先定义一个OnHanderError的方法,在OnHanderError里面做错误处理。Application_Error直接调用OnHa

deng_zz的专栏 2073

ASP错误的几种常规处理方式

ASP错误的几种常规处理方式 日期:2004年6月29日 作者: 简单介绍ASP是非常简单的,以至于许多的开发者不会去思考错误处理,正确处理错误能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。有三种主要的错误类型: 编译错误:这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。 运行错误这个错误是发生在你准备运行ASP时的。例如:如果你

学习点滴 897

asp asp.net php语法错误,.NET_asp.net错误处理Application_Error事件示例,ASP.NET错误处理方法Application_Err - phpStudy...

asp.net错误处理Application_Error事件示例ASP.NET错误处理方法Application_Error事件举例如下:新建web程序——新建AppEvent.aspx页面——在该页面中添加如下代码:void Page_Load(object sender, System.EventArgs e){throw(new ArgumentNullException());}然后呢,将...

weixin_33345090的博客 242

ASP的ERR和ERROR对象

ERR对象     Err对象使用的时候不需要创建实例,就是说用的时候随便拿来使用,就像session一样,不需要像ADODB对象使用的时候要先用Set conn=Server.CreateObject("ADODB.Connection")语句来创建实例。    它返回一个错误代码,但是Err!=Err.Number。可以用Clear方法清除,以利于下次使用.它主要的是个Descriptio

SophiaWang的专栏 1万+

ASP.NET Error Handling

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/aspnet-error-handling Overview ASP.NET applications must be able to handle errors ...

weixin_30398227的博客 218
上一篇: [ASP中使用三层架构] 4.asp中使用类
下一篇: [ASP中使用三层架构] 6.Convert类
当下透明
博客等级 码龄21年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值