• λ我爱Aspx >> Asp.Net >> Try...Catch...Finally 和Throw 叙述
  • Try...Catch...Finally 和Throw 叙述

  • :aspxer  Դ:internet  :2007-4-29 23:44:42  ؼ:
  • 介绍完了On Error 叙述后,相信大家对于错误处理的方式及流程应该有基础的认识了。接着我们要来介绍.NET 架构里最新的错误处理方式Try...Catch。我们前面提到On Error 虽然简单但是不够结构化,因此.NET 便加入了Try...Catch 的除错方式,使我们能够更有效率的撰写错误处理法则。

    例外(Exception)

    错误被称为例外(Exception),而例外也是对象;它和Err 对象不一样,不同的例外被做成不同的对象。例如将非数值型态的数据以型态转换函数处理时,会发生FormatException 型态的例外;而提供这个例外信息的是FormatException 对象。

    Try...Catch

    Try...Catch 的概念基本上和On Error 叙述一样,它也是当发生错误时就跳到例外处理程序中,其结构如下所示:

    Try

    程序执行的区块

    Catch 变量As 例外对象

    例外处理程序的区块

    End Try

    我们可以针对不同的例外来建构不同的例外处理程序,例如:

    Try

    程序代码

    Catch 变量As 例外对象

    例外处理程序代码

    Catch 变量As 例外对象

    例外处理程序代码

    [Finally]

    例外处理程序代码

    End Try

    下列范例将On Error 错误捕捉改成Try...Catch 处理,我们一样只要输入非数值型态的内容至TextBox 中即可引法错误:

    <Html>

    <Form Runat="Server">

    <ASP:TextBox Id="Text1" Runat="Server"/>X

    <ASP:TextBox Id="Text2" Runat="Server"/>

    <ASP:Button Id="Button1" Text="=" OnClick="Button1_Click"

    Runat="Server"/>

    <ASP:Label Id="Label1" Runat="Server"/><p>

    <ASP:Label Id="Label2" Runat="Server"/>

    </Form>

    <Script Language="VB" Runat="Server">

    Sub Page_Load(Sender As Object,e As Eventargs)

    Label1.Text=""

    Ҷƪл˵?
  • һƪTemplateColumn
    һƪ常见的例外对象