Try-Catch语句用法
Try
程序的正常操作部分,可能遇到错误。
Catch ex as Exception
错误处理
Finaly
无论是否产生异常,都会执行finally 块
a清理资源
b 要在try块或catch块末尾执行的其他操作。
End Try
-
细节:
Try-Catch语句可以省略Finally 块,可以提供任意多个Catch块,处理不同类型的错误。
返回语句如果写在Try-Catch中,Try 块中要返回,Catch也要返回。即都加上return语句。
-
Try-Catch与三层
不妨由底及表来说。
首先,DAL(Data Access Layer)数据访问层,不知道大家是怎么处理的,我是直接throw ex了。
然后,BLL(Business Logic Layer)业务逻辑层,因为DAL层直接throw ex,而DAL层抛出的通常是数据库连接异常、类型转化异常等,这类异常专业性较强,不适于跟用户交流,所以在BLL层catch到异常,不宜直接抛给用户(UI界面),这里我选择throw new exception(“用户能听懂的错误报告”)。
最后,UI层,这层直接和用户打交道。可catch到BLL层传出的错误,当然它也会catch到UI本身的错误。这层相当于BLL对于DAL,如果我们BLL也是throw ex,那么在UI层就应该throw new exception(“用户能听懂的错误报告”)了。
另外,Try-Catch之外的,UI调用BLL的Funtion所产生的返回值,如Boolean,在UI层,我们可以根据结果的不同,提示用户不同的信息。(true,msgbox(”成功”);false,msgbox(“失败”))
分享到:
相关推荐
,对SqlServer数据库执行存储过程...异常捕获用 try {} catch{throw}而非 try{} catch(exception ex){throw (ex);} * 以便确保抛出的异常来自原始位置。 * 3.继承接口,降低耦合度,本代码的修改对于业务逻辑影响小。
如果所有层都不能解决,则应抛出给虚拟机使线程停止,但是如果直接抛出这个异常,则还需要调用者一级一级继续往上抛出最后才能抛给虚拟机,所以还不如在出现异常的位置直接trycatch住后转换为RuntimeException抛出...
77. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 36 78. 常见的异常类有哪些? 38 八、网络 39 79. http 响应码 301 和 302 代表的是什么?有什么区别? 39 80. forward 和 redirect 的...
三层结构解释 所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,...
若try抛出Exception,App寻找在Catch1~100寻找合适异常处理程序,若找到,执行CATCH{}代码,没有,执行最后一个catch{}后代码<BR>2、 若try未抛出Exception,就执行执行最后一个catch{}后代码。<BR><BR>3、 throws...
好了,通过第三章的学习,我们已经了解了一些XML和DTD的基本术语,但是我们还不知道怎样来写这些文件,需要遵循什么样的语法,在下一章,将重点介绍有关撰写XML和DTD文档的语法。 第四章 XML语法 七.DTD的语法...
try-catch 语句由一个 try 块和其后所跟的一个或多个 catch 子句(为不同的异常指定处理程序)构成。try-catch 语句采用下列形式之一: try try-block catch (exception-declaration-1) catch-block-1 catch ...
77.try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 78.常见的异常类有哪些? 八、网络 79.http 响应码 301 和 302 代表的是什么?有什么区别? 80.forward 和 redirect 的区别? 81.简述 tcp...
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan ...
10.5 try-catch语句 10.6 错误类型 第11章 不是你的对象不要动 11.1 什么是你的 11.2 原则 11.2.1 不覆盖方法 11.2.2 不新增方法 11.2.3 不删除方法 11.3 更好的途径 11.3.1 基于对象的继承 11.3.2 基于...
14.1.2 趣味理解:三层架构与养猪 496 14.2 为什么要用三层架构 497 14.3 三层架构项目开发示例 500 14.3.1 数据库设计 500 14.3.2 创建整体解决方案 501 14.3.3 业务实体Model的实现 502 14.3.4 数据访问层的实现 ...
2.7.4 try-catch-finally异常语句 2.8 小结 第3章 面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 定义 3.2.2 创建一个类和其...
2.7.4 try-catch-finally异常语句 2.8 小结 第3章 面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 定义 3.2.2 创建一个类和其...
10.5 try-catch语句 10.6 错误类型 第11章 不是你的对象不要动 11.1 什么是你的 11.2 原则 11.2.1 不覆盖方法 11.2.2 不新增方法 11.2.3 不删除方法 11.3 更好的途径 11.3.1 基于对象的继承 11.3.2 基于...
14.1.2 趣味理解:三层架构与养猪 496 14.2 为什么要用三层架构 497 14.3 三层架构项目开发示例 500 14.3.1 数据库设计 500 14.3.2 创建整体解决方案 501 14.3.3 业务实体Model的实现 502 14.3.4 数据访问层的实现 ...
2.7.4 try-catch-finally 异常语句 2.8 小结 第 3 章面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 8 第一篇 窗口与界面编程 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 ...
,能在模板变量,变量属性引用,for循环,占位符输出,try-catch中等各个地方提供安全输出,保证渲染正常。5、模板变量:运行将模板的某一部分输出像js那样赋值个一个变量,稍后再处理。利用模板变量能完成非常复杂...
第三步:web.xml 第四步:写实体类 entity User 第五步:复制util、Factory包、复制四个src下面的配置文件。 第六步:写dao接口 UserDao BaseDao public void save(User user) throws Exception; public ...
Java EE项目中的错误处理和异常处理方式的研究,苗锡奎,张语涵,在传统的Java EE环境中,应用程序常通常是采用硬编码的方式来避免将要发生的错误和使用简单的try….catch语句进行简单的处理,这样不��
后来,又有三个成员(Hewlett-Packard、Lucent 和 Philips)加入了这个联盟。2000年 4月,发表了 USB 规范的 2.0版本,它支持高达 480 Mbps 的传输率。今天,USB 在高速(视频、图像、储存)和全速(音频、宽带、麦克风)...