全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 使用异常的好处总结

java 使用异常的好处总结

一、分析

Java异常处理机制确实比较慢,这个“比较慢”是相对于诸如String、Integer等对象来说,单单从对象的创建上来说,new一个IOException会比String慢5倍,这从异常的处理机制上也可以解释:因为它执行fillStackTrace方法,要记录当前栈的快照,而String类则是直接申请创建一个内存创建对象,异常类慢一筹也在所难免。   

 二、场景

我们知道异常是主逻辑的例外逻辑,举个例子来说,比如我们能在马路上走(这时主逻辑),突然开过一辆车,我要避让(这是受检异常,必须处理),继续走着,不然一架飞机从我头顶飞过(非受检异常),我们可以选择继续行走(不捕捉),也可以选择指责噪音污染(捕捉,主逻辑的补充处理),在继续走着,突然一颗流星砸下来,这就没有选择,属于错误,不能做任何处理。

任何一个事物的处理都可能产生非预期的结果,问题是需要以何种手段来处理,如果不使用异常就需要依靠返回值的不同来进行处理了,这严重严重失去了面向对象的风格。

例如,用户登录的用例,就会在”例外事件“中说明”连续3次登陆失败即锁定用户账号“,这就是登陆事件的一个异常处理,具体到我们的程序中就是:

<span style="font-family:SimSun;font-size:14px;">   public voidlogin(){ 
     try{ 
       //正常登陆 
     }catch(InvalidLoginExceptionlie){ 
       //用户名无效 
     }catch(InvalidPasswordExceptionpe){ 
       //密码错误的异常 
     }catch(TooMouchLoginExceptiontmle){ 
       //多次登陆失败的异常 
     }     
   }</span> 

如此设计则可以让我们的login方法更符合实际的处理逻辑,同时使主逻辑(正常登陆,try代表块)更加清晰。使用异常有很多优点,比如可让正常代码和异常代码分离,能快速查找问题(栈信息快照)等,但是异常有一个缺点:性能比较慢。
但是我们不能因为性能问题而放弃使用异常,难道我们的系统连如此微小的性能消耗都不允许吗?

  三、建议 

        性能问题不是拒绝异常的借口

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 异常  # 异常详解  # 异常与性能  # Java中自定义异常详解及实例代码  # java基于spring注解AOP的异常处理的方法  # Java 异常详解  # JAVA中常见异常类  # java 异常详解及应用实例  # 深入理解java异常处理机制及应用  # java 解决异常 2 字节的 UTF-8 序列的字节2 无效的问题  # Java 常见异常(Runtime Exception )详细介绍并总  # 浅谈java中异常抛出后代码是否会继续执行  # java异常(Exception)处理机制详解  # 比较慢  # 可以选择  # 走着  # 这是  # 我要  # 都不  # 让我们  # 有很多  # 这就是  # 则是  # 会在  # 一颗  # 能在  # 这就  # 希望能  # 问题是  # 在所难免  # 因为它  # 任何一个  # 从我 


相关文章: 公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在香港服务器上快速搭建免备案网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  常州企业网站制作公司,全国继续教育网怎么登录?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何在景安云服务器上绑定域名并配置虚拟主机?  网站制作价目表怎么做,珍爱网婚介费用多少?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  如何通过西部数码建站助手快速创建专业网站?  如何高效生成建站之星成品网站源码?  简单实现Android文件上传  香港服务器如何优化才能显著提升网站加载速度?  建设网站制作价格,怎样建立自己的公司网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何通过VPS建站无需域名直接访问?  建站之星导航如何优化提升用户体验?  如何通过西部建站助手安装IIS服务器?  如何快速打造个性化非模板自助建站?  中山网站推广排名,中山信息港登录入口?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何在IIS中新建站点并解决端口绑定冲突?  ,交易猫的商品怎么发布到网站上去?  Android滚轮选择时间控件使用详解  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  详解jQuery中基本的动画方法  建站之星3.0如何解决常见操作问题?  制作公司内部网站有哪些,内网如何建网站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何快速搭建二级域名独立网站?  建站主机是什么?如何选择适合的建站主机?  宿州网站制作公司兴策,安徽省低保查询网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何获取上海专业网站定制建站电话?  建站主机如何安装配置?新手必看操作指南  如何在阿里云购买域名并搭建网站?  如何在宝塔面板中创建新站点?  做企业网站制作流程,企业网站制作基本流程有哪些?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何在IIS7中新建站点?详细步骤解析  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站主机选购指南:核心配置优化与品牌推荐方案  建站主机核心功能解析:服务器选择与网站搭建流程指南  黑客如何通过漏洞一步步攻陷网站服务器?  如何零成本快速生成个人自助网站?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。