软件系统的分层开发
分层架构
定义:将解决方案中功能不同的模块分到不同的项目中实现,每一层中的组件应该保持内聚性,每一层都应与它下面的各层保持
松耦合。
简单地分层架构有两层:数据访问层(DAL)和表示层(UI层),前者处于最底层,负责与数据库的交互,后者直接和用户打交道。
其中的关系为表示层依赖于数据访问层,两层职能分开,协同工作。经过分层,无论哪一层的实现被改变,只要层于层之间通信
的接口不发生变化,其它层都不会受到影响。
搭建分层架构
步骤:创建类库→添加数据访问层→添加依赖关系→调用数据访问层
分层开发的优点
1.代码复用
2.分离开发人员的关注
3.无损替换
4.降低了系统间的依赖
.NET异常处理
| Exception类 | 说明 |
| SystemException | 提供系统异常和应用程序异常之间的区别 |
| System.SQLException | 当SqlServer返回警告或者错误时引发的异常 |
| ArgumentNullException | 当将空引用传递给不接受它作为有效参数的方法时引发的异常 |
| FileNotFoundException | 试图访问磁盘上不存在的文件失败时引发的异常 |
| IOException | 当出现I/O错误时,引发此异常 |
| ApplicationException | 在应用程序执行过程中监测到由应用程序定义的异常 |
| 属性 | 说明 |
| Message | 提供引起异常的详细信息 |
| Source | 表示导致异常发生的应用程序或对象的名称 |
| StackTrace | 提供在堆栈上所调用方法的详细信息,并首先显示最近调用的方法 |
| InnerException | 对内部异常的引用,如果此异常基于前一个异常,则内部异常指最初发生的异常 |
异常的多路捕捉:
多路捕捉即一个try块后面跟有多个catch块,catch块中的异常类型不同,子类型异常在前,父类型异常在后。
throw关键字:
throw关键字的作用是引发异常,引发的异常是一个对象,派生自Exception类。例:
1 //追溯到异常的起点
2 try
3 {
4 //省略代码
5 }
6 catch(Exception ex)
7 {
8 throw;
9 }
10
11
12
13 //捕捉所有的异常类型
14 try
15 {
16 //省略代码
17 }
18 catch
19 {
20 throw;
21 }
22
23
24
25 //重置堆栈中异常的起点
26 try
27 {
28 //省略代码
29 }
30 catch(Exception ex)
31 {
32 throw ex;
33 }
34
35
36
37
38 //自定义异常信息
39 try
40 {
41 //省略代码
42 }
43 catch(Exception ex)
44 {
45 throw new Exception("异常信息");
46 }
欢迎提出意见或建议!!!
HK


浙公网安备 33010602011771号