进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 程序开发 -> VB -> 文章内容  
在VB 2005中定制自己的异常

提要 本文在简要分析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属性外分析它们。 
四、 定制异常示例

   为了理解定制异常,让我们创建一个很简单的命令行应用程序来加以具体说明。

   该代码包含一个非常简单的仅含有一个表Customer的MS Access数据库。一点也不奇怪,这个Customer表包含一组顾客记录(具有CustomerID,first name,last name,address details共四个字段)。该数据库的实际内容并不重要,但是,在你的定制异常中实现数据存取是一种非常合适的选择。

   对于本应用程序来说,我用VB 2005 Express IDE创建了一个新的控制台应用程序。

   五、 DatabaseException基类 www.goodsgy.com

[1] [2]  下一页

在百度中搜索:在VB 2005中定制自己的异常
在Google中搜索:在VB 2005中定制自己的异常
在Yahoo中搜索:在VB 2005中定制自己的异常

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· 在Visual C#中定义和使用自己的特性
· 再谈微软在Vista上所犯下的五个大错误
· 在Vista系统中任意设定鼠标滚动行数
· 在Vista中根据日期查找图片
· [图文] 如何在Vista桌面上创建快捷方式工具..
· [图文] 小技巧:在Vista系统中启用大缓存
· 在Vista中用复选框选择图标
· [组图] QQ在Vista下蓝屏故障的临时解决方案..
· 在Vista系统中教你妙用Ctrl键
· 在Vista的多重启动中设置默认系统为XP
 
· sql 的随机函数newID()和RAND()
· 知己知彼 了解VB编写病毒的大体方法
· 经验交流:关于软件设计的一点心得体会
· VB里怎么连续循环播放音乐
· 在VB中调用CHM帮助的几种方法
· VisualBasic变态用法之函数指针
· 在VB中用DAO实现数据库编程
· Data控件使用有admin888的Access数据库
· 教你在CoolBar中显示指定的图片
· VB中拖动没有标题栏的窗体

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:good_sgy@tom.com  
MSN:goodsgy@hotmail.com