栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

孤尽训练营打卡日记day05--异常初识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

孤尽训练营打卡日记day05--异常初识

背景:

        异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们。

Java 的异常机制

异常就是一个需要被明确感知的危险信号

好的异常机制

  • 异常应当描述导致当前异常发生的原因
  • 根据异常栈快速定位到异常发生的位置
  • 结合异常描述和异常栈解决异常 

坏的异常机制

  • 代码可读性差
  • 无法根据异常解决问题

Java异常处理流程

 

Java异常体系

异常处理设计与实践

异常抛出和捕获的原则

  • 非必要不使用异常,稳定的代码不应该放入try catch 块

try{}里面的代码越少越好,为什么?

因为jvm在处理异常代码的时候,需要对其进行特殊的处理,这一个时候需要给它分配一些资源来管理这一个异常代码,那么你放置的代码越多,需要的资源就会越多。

  • 使用描述性信息抛出异常
  • 力所能及的异常一定要处理 
  • 异常忽略要有理有据

try...catch...finally 流程解析

 

JDK7 资源关闭之 try with resource流程解析

特殊NPE场景及其处理对策:

使用 Optional 优雅的防止 NPE

Optional的巧用

异常处理

  • 为可恢复的错误使用检查型异常,为编程错误使用非检查型错误
  • 在finally程序块中关闭或者释放资源        
  • 在堆栈跟踪中包含引起异常的原因
  • 始终提供关于异常的有意义的完整的信息
  • 避免过度使用检查型异常
  • 将检查型异常转为运行时异常
  • 记住对性能而言,异常代价高昂
  • 避免catch块为空
  • 使用标准异常
  • 记录任何方法抛出的异常

你总是这样轻言放弃的话,无论多久都只会原地踏步。--《哆啦A梦》

 参考文献:

Joel老师的ppt

Java 编程中关于异常处理的 10 个最佳实践

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号