[设计文档]系统异常设计.docx

[设计文档]系统异常设计.docx

ID:55556340

大小:30.37 KB

页数:6页

时间:2020-05-16

[设计文档]系统异常设计.docx_第1页
[设计文档]系统异常设计.docx_第2页
[设计文档]系统异常设计.docx_第3页
[设计文档]系统异常设计.docx_第4页
[设计文档]系统异常设计.docx_第5页
资源描述:

《[设计文档]系统异常设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数银在线技术开发部文档系统异常设计规范版本V1.0PoweredBy王吉晨MSccertificatedByBritishComputerSocietySeniorJava&JavaRTSDeveloperFormerNASAScientist系统异常设计规范1简介本文档介绍了系统异常设计的规范,所有数银在线的系统异常设计今后均按照本文制定的规范实施。异常分为系统级和业务级,系统级异常面向系统维护和开发人员,业务级的异常面向系统的使用者,即业务人员,一般要根据具体系统的业务规则去定义。本文对系统级的异常做了定义,对业务级的异常做了实现模型的设计。1.1背景当前所有数银

2、系统中,对异常的定义及提示都是各成一套体系,对异常的捕捉及处理没有一个统一的规范。尤其是异常的命名,提示信息,抛出及处理的位置都非常混乱,导致系统程序在出错后的维护非常不便,难以快速定位至出错的根源。业务级的异常对系统使用者的提示也不够友好和专业。1.2目标建立异常的定义,处理,提示机制的规范,使异常的处理能够统一管理,异常的提示信息可以通过配置实现,而非写死在系统代码中。异常类型的判断均在系统的服务层进行,最终将结果返回给展现层,展现层通过事先配置好的异常代码和提示消息的映射关系来显示对应的提示消息。1.3定义和术语系统级异常:系统运行时的异常,如数据库连接失败,程

3、序中的空指针异常,服务页面无法找到等,通常无需系统使用者关注的问题,即因为程序出错而导致的问题。业务级异常:和业务逻辑相关的异常,即用户的操作导致了某个业务流程无法进行,造成业务数据错误时发生的异常,和系统本身的运行没有关系。1.4参考文档无1异常设计异常分为系统级和业务级,本节将详细说明两种异常的定义,在系统程序中的实现,给出了异常抛出,捕获和处理的流程机制。1.1系统级异常系统级异常指的是系统程序本身出现的错误,产生的异常,这类异常按级别也可以分为三个等级,如表2-1所示,列出了各种系统级异常的定义。系统异常级别异常定义异常实例程序级因程序代码编写错误而产生的,而

4、此类异常一般在系统上线前的测试可以检查出来空指针异常框架级系统程序代码调用一些第三方类库时出现的错误,比如框架本身的错误线程数量耗尽底层系统操作系统相关的底层错误,一般是系统底层出现了错误,如网络中断,和程序本身无关。Brokenpipe,网络中断表2-1系统级异常定义系统级的异常在我们现有系统的分层结构中,会在各个层中出现,如图2-1所示各层异常出现的位置。对系统级的异常,系统将提供一个统一的提示信息(如提示用户系统服务不可用),并将详细地记录出错的程序堆栈信息,供开发人员进行错误修复。数据持久层数据库业务逻辑层展现层数据库连接异常事务异常框架异常图2-1各层的系统

5、异常以业务逻辑层为界,所有在业务逻辑层内和业务层之后所发生的系统异常,均抛至业务逻辑层进行处理(包括框架本身的异常),最终将结果传递给展现层进行错误消息的提示。1.1业务级异常业务级异常的定义和处理必须结合实际的业务规则进行定义,与系统程序本身以及底层系统无关,即在系统运行时,系统程序和底层程序没有出错,该错误是面向业务层面的,为业务出错。Java异常分为两大类:checked异常和unChecked异常。所有继承java.lang.Exception的异常都属于checked异常。所有继承java.lang.RuntimeException的异常都属于unCheck

6、ed异常。业务级的异常一般可以定义为unChecked异常,即在运行时抛出的,根据业务层执行的结果,对照业务规则来抛出业务的异常,然后通过一个统一的业务异常处理来检查该业务异常的类型,最终提示给用户面向业务的错误信息。图2-2描述了业务级异常定义,处理的模型。RuntimeExceptionBusinessExceptionUserNotExistExceptionAppAlreadyExistExceptionExcepitonHandler图2-2业务级异常模型通过定义一个BusinessException集成RuntimeException来抽象所有的业务异常,

7、让所有的业务层的服务接口中的方法,均都抛出业务异常,最终由调用该业务接口的类去捕获并处理该异常(展现层调用则提示错误消息,服务层调用则进行相关业务处理)。举例说明,如在图中定义的用户不存在异常(UserNotExistException)可用于用户登录时,查找对比用户信息,发现用户信息不正确则抛出该异常。在调用该服务的展现层中捕获该异常并根据该异常的名称返回提示信息。1.2异常模型设计Java异常处理通过五个关键字来实现,try,catch,throw,throws,finally。具体的异常处理结构由try….catch….finally块来实现。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。