用户名: 密码: 免费注册 忘记密码? 加入收藏 | 设为首页
在VB 2005中定制自己的异常
学院首页 | 资讯中心 | 服务器软件 | 系统工具 | 系统软件 | 办公软件 | 聊天软件 | 多 媒 体 | 网页制作 | 网站运营 | 平面设计
艺术欣赏 | 数据库软件 | 程序开发 | 网络组建 | 源码下载 | 驱动下载 | 软件下载 | 电脑安全 | IT创业 | IT博客 | IT社区
硬件数码导航 | 硬件频道 | 本本频道 | MP3频道 | 相机频道 | 手机频道 | 显卡频道 | LCD 频道 | 音箱音频 | 行情 | 评测 | 导购
学院专题 软件 - 系统 - 办公 - 聊天 - 多媒体 - 网页制作 - IT创业 - 运营 - 平面 - 设计欣赏 - 数据库 - 程序 - 服务器 - 组网

 当前位置: 首页>>技术频道>>程序>>Visual Basic教程>>正文

在VB 2005中定制自己的异常

日期:2006-9-15 4:19:04     来源:aspcool   编辑:   

   提要 本文在简要分析VB 2005所提供的异常处理机制的同时,详细讨论如何用它所提供的异常类定制自己的异常 。

   结构化异常处理是随着.net的第一个版本的发行而加入到Visual Basic语言中的 。 结构化异常处理的重要性基于下面两个原因:

   1. 与以前的On Error Goto...语句相比而言,通过使用一种与该语言其它部分更适应的语法从而使得代码更具有可读性 。

   2. 比以前的On Error Goto...语句功能更强,而且提供了更为灵活性的控制能力 。

   一、 捕获并抛出异常

   异常处理是用Try...Catch...Finally...End Try语句实现的,其基本语法形式如下:

Try
'能够引发一个异常的代码
Catch
'处理异常的代码
Finally
'实现清理工作的代码(如关闭数据库连接,等等)
End Try

   Try和End Try语句都是必需的 。 Catch和Finally语句可以共同使用于一个Try块中,但是至少使用其中之一 。 而且,可以使用多个Catch语句来处理不同类型的异常 。 如果你有多个Catch块,可以对它们加以排序:从最具体的异常类型到最粗略的异常类型:

Try
  '能够引发一个异常的代码
Catch ex As ArgumentOutOfRangeException
  '有可能使用一个缺省值来处理一个无效参数以便使代码继续执行
Catch ex As Exception
  '处理任何其它类型的异常
Finally
  '实现清理工作的代码(如关闭数据库连接,等等)
End Try

   你也可以在你的代码中抛出异常 。 当你在代码中执行一些清理工作时,捕获并抛出异常是很有用的-这样以来,一个更高层级的过程可以捕获它 。 当你创建定制异常类型时,抛出异常也很有用 。

   为了抛出一个异常,你可以编写如下形式的代码:

Throw New ArgumentOutOfRangeException

   ArgumentOutOfRangeException告诉Throw语句要抛出什么类型的异常 。 这个ArgumentOutOfRangeException类型仅是.NET框架所提供的众多的类型之一 。

   二、 传播异常

   当一个异常出现于你的代码的某处时,你可以以三种方式传播它:

   ·什么也不做而让它自动地传播回调用栈(由系统自动处理) 。

   ·捕获并再次抛出它 。 这可以允许你在Finally块中运行一些清理代码 。

   ·捕获它,并使用InnerException属性在另一个异常中包装该异常,并且把这个新的异常抛回调用过程 。 这个InnerException属性可以让你维持原始的异常并在一个关系更为密切的异常中存放它的信息

    三、 定制自己的异常

   尽管.net框架提供了许多标准异常,但你也可以创建,抛出和捕获你自己的定制异常 。 一般地,微软推荐你使用由.NET框架所提供的标准异常 。 然而,如果你的应用程序仅使用一个标准异常不能满足需要时,你可以创建一个定制异常 。

   当你创建一个定制异常类型时,你就能控制所有的异常属性 。 你还可以把属性添加到你的定制异常类中 。 除了把关键数据嵌入到Message属性中外,这可以使你有另外一个地方来存储这些数据 。 而且,这可以使得检索关键数据非常简单而不必在Message属性外分析它们 。

gigi_miao
  ▼ 下一篇新闻 没有了
  ▲ 上一篇新闻 VB程序中用ADO对象动态创建数据库和表        网友发表观点请进入=>



我要纠错】【进入论坛交流】【关闭此页

文章搜索
   
最新文章

 
·千名爱好者参与首届PHP调查
·腾讯称QQ通讯信息密钥加密 不会被
·雅虎反超Google排名搜索第二
·中搜等十余家IT企业因流氓软件被
·盛大前员工克隆网游装备获暴利被
·凤凰网将向迅雷提供娱乐及宽带内
·信产部出手规范 新浪式企业法律架
·雅虎中国称旗下软件早已没有流氓
·中搜停止划词搜索与流氓软件决裂

广告赞助
相关文章 相关教程下载
焦点信息
·腾讯称QQ通讯信息密钥加密 不会被监听
·信产部出手规范 新浪式企业法律架构不得不改
·盛大前员工克隆网游装备获暴利被追刑责
·凤凰网将向迅雷提供娱乐及宽带内容
·雅虎中国称旗下软件早已没有流氓问题
·雅虎反超Google排名搜索第二
网友评论:(评论内容只代表网友观点,与本站立场无关!)
发表评论     Hard168社区推荐帖子
姓 名: *
* 请网友遵纪守法并注意语言文明。
IT人物推荐

王江民
马云
柳传志



关于本站    联络方式    广告服务    意见信箱    加入收藏   设为首页    -
本站部分内容来自网上,如有侵权部分,敬请告知,我们会在24小时内给予处理
版权所有:Hard168.Com,如需转载文章请与我们取得联系
京ICP备05063857号 Designed by Hard168.Com
在VB 2005中定制自己的异常