总结
到现在为止,您应该清楚地了解了结构化异常处理和非结构化异常处理之间的区别,以及 Visual Basic .NET 中结构化异常处理功能的优势。通常情况下,结构化异常处理即可满足您的需求,但在少数情况下仍然可能需要使用非结构化异常处理。
在确保异常得到处理的同时,不要过多地列举它们,否则会导致性能下降。Try 结构是很有条理的,易于编写且易于阅读,它能生成有效的代码。编写处理一个或多个可能异常的代码时,都应该使用该结构。此方法极其有效,您甚至愿意在正常情况下使用异常来控制逻辑流程。例如,替代 If 或 Select 语句。处理异常是很有效的,但应该到真正发生异常时使用。
下表列出了预定义的异常类及其起因和派生类。
表 1
ArgumentOutOfRangeException
ComponentModel.InvalidEnum
ArgumentException
DuplicateWaitObjectException
ArithmeticException 在算法、强制类型转换或转换操作上发生错误 DivideByZeroExceptionNotFiniteNumberException
OverflowException
ArrayTypeMismatchException 尝试在数组中存储错误类型的元素 无 BadImageFormatException DLL 或可执行程序的文件映像无效 无 CannotUnloadAppDomainException 尝试卸载应用程序域失败 无 ComponentModel.Design.Serialization.CodeDomSerializerException 产生序列化错误的行号信息 无 ComponentModel.LicenseException 无法为组件授予许可证 无 ComponentModel.WarningException 异常被作为警告而不是错误处理 无 Configuration.ConfigurationException 配置设置中发生错误 无 Configuration.Install.InstallException 在安装过程的提交、回滚或卸载阶段发生错误 无 ContextMarshalException 尝试通过上下文范围封送对象失败 无 Data.DataException 使用 ADO.NET 组件时产生错误 Data.ConstraintException
Data.DeletedRowInaccessibleException
Data.DuplicateNameException
Data.InRowChangingEventException
Data.InvalidConstraintException
Data.InvalidExpressionException
Data.MissingPrimaryKeyException
Data.NoNullAlllowedException
Data.ReadOnlyException
Data.RowNotInTableException
Data.StringTypingException
Data.TypedDataSetGeneratorException
Data.VersionNotFoundException
Data.DBConcurrencyException 在升级操作中,DataAdapter 确定受影响的行数等于零 无 Data.SqlClient.SqlException SQL Server 返回警告或错误 无 Data.SqlTypes.SqlTypeException Data.SqlTypes 的异常基类 Data.SqlTypes.SqlNullValueExceptionData.SqlTypes.SqlTruncateException
Drawing.Printing.InvalidPrinterException 使用无效的打印机设置尝试访问打印机 无 EnterpriseServices.
RegistrationException 检测到注册错误 无 EnterpriseServices.Serviced
ComponentException 在运行的组件上检测到错误 无 ExecutionEngineException 在公共语言运行时的执行引擎上存在内部错误 无 FormatException 参数的格式不符合调用方法的参数规定 Net.CookieException
Reflection.CustomAttribute
FormatException
UriFormatException
IndexOutofRangeException 尝试访问其索引在数组范围之外的数组元素 无 InvalidCastException 无效的强制类型转换或显式转换 无 InvalidOperationException 方法调用对于对象的当前状态无效 Net.ProtocolViolationExceptionNet.WebException
ObjectDisposedException
InvalidProgramException 程序包含无效的 Microsoft 中间语言或元数据 无 IO.InternalBufferOverflowException 内部缓冲区溢出 无 IO.IOException 发生 I/O 错误 IO.DirectoryNotFoundExceptionIO.EndOfStreamException
IO.FileLoadException
IO.FileNotFoundException
IO.PathTooLongException
Management.ManagementException 管理错误 无 MemberAccessException 尝试访问类成员失败 FieldAccessExceptionMethodAccessException
MissingFieldException
MissingMemberException
MissingMethodException
MulticastNotSupportedException 尝试组合两个无法组合的代理类型实例,两者的操作数都为非空引用 无 NotImplementedException 未执行要求的方法或操作 无 NotSupportedException 不支持所调用的方法,或者尝试在不支持所调用函数的流中进行读取、查找或写入 PlatformNotSupportedException NullReferenceException 尝试取消引用空对象引用 无 OutOfMemoryException 内存不足以完成执行程序 无 RankException 将具有错误维数的数组传递给方法 无 Reflection.AmbiguousMatchException 绑定方法时导致多个方法符合绑定条件 无 Reflection.ReflectionType
LoadException Module.GetTypes 方法导致模块中的一个或多个类无法加载 无 Resources.MissingManifest
ResourceException 主要程序集不包含非特定语言的资源,但它们又是必需的,因为缺少合适的辅助程序集 无 Runtime.InteropServices.
ExternalException 所有 COM 互操作异常和结构化异常处理异常的基本异常类型 ComponentModel.Design.
CheckoutException
ComponentModel.Win32Exception
Data.OleDb.OleDbException
Messaging.MessageQueueException
Runtime.InteropServices.COMException
Runtime.InteropServices.SEHException
Web.HttpException
Runtime.InteropServices.InvalidComObjectException 使用了无效的 COM 对象 无 Runtime.InteropServices.
InvalidOleVariantTypeException 封送器遇到无法封送到管理代码的变体类型参数 无 Runtime.InteropServices.
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- 在asp.net中为Web用户控件
- .NET3.5和VS2008中的ASP.N
- 对.NET Framework 反射的
- Asp.net Ajax 1.0 异步回
- ASP.NET2.0的控件状态和视
- 通过避免下列10个常见ASP.
- 中国地区三级联动下拉菜单
- 解析Asp.net中资源本地化
- 一个无刷新效果定时自动更
- 动态创建MSSQL数据库表存
- asp.net用url重写URLReWri
- 使用ASP.NET Atlas编写显
- 关于ASP.NET调用JavaScrip
- 使用ASP.Net Forms模式实
- asp.net ajax 使用updatep
- 优化ASP.NET应用程序性能
- ASP.NET中动态修改web.con
- ASP.NET中利用Crystal Rep
- asp.net如何生成图片验证
- 基于ASP.NET的Web动态控件
- 分享个极好的无刷新二级联
- asp.net 2.0 上传控件的使
- 创建ASP.NET监视服务器进
- Asp.net把UTF-8编码转换为
- 开发基于ASP.NET WebServi
- asp.net结合html,javascr
- asp.net 2.0下嵌套masterp
- 正则表达式提取数字
- 最新版FreeTextBox(版本3.
- 获取本机上配置好的Oracle
- ASP.Net全局变量的设置和
- VB几个有用的函数
- 用代码画折线图/柱形图/
- FCKeditor2.2 ASP.NET2.0
- 客户端回调实现gridView无
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD



