• ASP 错误处理


    <% Option Explicit
    
    '-------------
    '错误处理:
    '-------------
    '1.需在每一行可能发生错误的代码上使用"On Error" 和 "If Err.Number <> 0 Then ..." 结构。 注意作用域!
    '2.On Error语句: 启用或禁用错误处理程序
    '  * On Error GoTo 0:     禁用错误处理。
    '  * On Error Resume Next:开启错误处理。 
    '                          若未使用On Error Resume Next语句,所发生的运行时错误将显示错误信息,同时,代码的执行也随之终止。 
    '                          但当你采用它时,就会使程序不顾运行时错误,跳过产生错误的语句继续执行。之后可以在过程内部建立错误处理例程。
    '                          若调用其他过程时,On Error Resume Next语句变为非活动的,应在每个调用的例程中执行On Error Resume Next 语句。
    
    sub Err1()
        dim i
        On Error Resume Next
        i=99/0
        If Err.number<>0 then
            response.Write ("出错了")
            response.End()     '如果不写的话,会继续执行下面程序。
        End if
        
        response.Write ("错误已跳过")
    end sub
    
    sub Err2()
        On Error Resume Next
        response.Write (var1)
        response.Write (111)
    
        On Error GoTo 0
        response.Write (var2)
        response.Write (222)
    end sub
    
    sub Err3()             '//用err.raise自定义错误信息
        On Error Resume Next
    
        Dim Conn
        Set Conn = Server.CreateObject("ADODB.Connection")
    
        '这个DSN实际上不存在,所以返回错误信息
        Conn.Open "foo"
    
       If Err.Number <> 0 then
         Err.Clear
         'Err.Raise可以凭空产生错误
         Err.Raise vbObjectError + 7, "ErrTest.asp", "Connection Open Method Failed"
         response.Write ("已使用Err.Raise"&"</br>")
       End If
       If err.Number <> 0 then    
         Response.Write("Error On line    -> " & Err.Number - vbObjectError)
         Response.write("<BR>Error Source -> " & Err.Source)
         Response.Write("<BR>Error Desc   -> " & Err.Description)
         Err.Clear
       End If
    end sub
    
    'call Err1()  
    '//运行结果: 出错了
    
    'call Err2()
    '//运行结果:
    '111
    'Microsoft VBScript 运行时错误 错误 '800a01f4' 变量未定义: 'var2'
    
    call Err3()
    '//运行结果:
    '已使用Err.Raise
    'Error On line -> 7
    'Error Source -> ErrTest.asp
    'Error Desc -> Connection Open Method Failed
    
     %>
    
  • 相关阅读:
    Scala 异常和懒加载
    Scala 隐式转换 重要一点 什么是隐式转换以及隐式转换带来的好处
    Scala 类型系统编程 有点复杂 ,也是重点
    集合上的函数式编程 示例
    Scala 模式匹配的五种情形,值,case class ,optional ,数据类型,集合内数据
    Scala 函数式编程进阶 2 更详 代码说明
    Scala 函数式编程进阶 最重要的内容
    RDD & java 类 (反射)构建 DataFrame ---java code
    SQLSTATE[HY000] [2002] 乱码解决方法
    PhpStorm常用的一些快捷键
  • 原文地址:https://www.cnblogs.com/streetpasser/p/2975126.html
Copyright © 2020-2023  润新知