VB.NET异常处理突破局限性

开发 后端
VB.NET异常处理中可以分为两种类型,分别是:也无异常与系统异常。我们可以通过本文介绍的内容对这两种错误处理进行详细的解读。

因为VB.NET的出现,在一定程度上改变了开发人员的编程习惯。比如在错误的处理方面。VB.NET异常处理的方式彻底改变了VB6中的错误处理方式,这点我最喜欢,哈! 项目中的异常分为两种,业务异常和系统异常:

1、业务Exception:

从ApplicationException中继承,有一个总的Exception,然后各个模块的Exception都是从总的Exception中继承,从而形成了一个层次结构:

ApplicationException  
ProjectException  
Module1Exception  
Module1Concret1Exception  
Module2Concret2Exception  
……………  
Module2Exception  
…………… 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

2、系统异常,报出的错误,包括数据库报出的:

VB.NET异常处理捕捉的原则是只捕捉需要的错误,因材在数据访问层和业务层不需要Catch所有的错误,如下:

Public Function Methoda()  
IF …… THEN  
If ContextUtil。IsInTran
saction Then  
ContextUtil.etAbort()   End If   Throw Module1Concret1
Exception  
End If   …… 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

Catch 需要的具体的错误Module2Concret1Exception

'这里不需要 Catch 
ProjectException  
End Function 
  • 1.
  • 2.
  • 3.

为了便于调试,需要把系统异常记录在日志文件中,这里用的MS提供的Exception Management Application Block 来实现的,具体的实现方式见MSDN,下载地址是:

http:www.icrosoft.om/downloads/details.spx?FamilyId=8CA8EB6E-6F4A-43DF-ADEB-8F22CA173E02&displaylang=en

在界面显示错误信息的时候为两种显示方式,一种是用来显示业务异常的,一种界面是用来显示系统异常的,VB.NET异常处理代码如下:

Public Sub Button_OnClick()  
Dim objblModule As 业务层  
Try  
ObjblModul.osomething()  
Catch ProjectExcption  
'显示一个定制的页面()  
Catch Exception  
'call Exception Management. 
Publish method to log 
the exception  
'显示另一个定制的页面,定制的页面
有将具体的错误信息发送到administrator
的功能,就象windows的错误页面  
End Try   End Sub 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

【编辑推荐】

  1. VB.NET事务处理手工实行方式
  2. VB.NET业务层实现业务与逻辑
  3. VB.NET数据实体层实现方案介绍
  4. VB.NET MDI子窗体实例化问题解决方案
  5. VB.NET字符转换相关函数使用说明
责任编辑:曹凯 来源: 博客园
相关推荐

2014-08-20 10:20:18

2023-01-10 10:11:50

GPU计算

2021-08-09 11:07:44

数据安全算法互联网

2010-01-22 17:38:36

Visual C++

2024-03-12 09:43:45

2022-12-30 08:26:43

基线预警局限性

2018-04-26 13:41:57

深度学习人工智能机器学习

2022-06-16 12:51:48

工业机器人机器人

2010-08-26 10:57:35

2021-04-20 08:31:13

Kubernetes局限性容器

2019-11-06 11:34:53

人工智能机器学习工具

2010-08-06 11:04:11

RIP路由协议

2024-06-05 13:48:04

2017-10-09 19:12:52

AI深度学习局限性

2010-01-13 13:20:08

VB.NET结构化异常

2017-07-25 11:22:06

2017-07-12 10:00:22

深度学习小数据样本深度网络

2010-01-18 15:01:02

VB.NET异常迭代捕

2009-10-14 16:46:25

VB.NET OnSt

2013-10-16 13:10:57

802.11ac技术802.11ac
点赞
收藏

51CTO技术栈公众号