专栏首页Java学习资料Java软件开发常出现哪些异常?要怎么处理?
原创

Java软件开发常出现哪些异常?要怎么处理?

  异常处理是Java软件开发中的一个重要部分,它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等,Java提供了几个异常处理特性,以try,catch和finally关键字的形式内建于语言自身之中,Java编程语言也允许你创建新的异常,并通过使用throw和throws关键字抛出它们,事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码,这里我们将讨论一些关于异常处理的Java最佳实践。

  为可恢复的错误使用检查型异常,为编程错误使用非检查型错误

  选择检查型还是非检查型异常,对于Java编程人员来说,总是让人感到困惑。检查型异常保证你对错误条件提供异常处理代码,这是一种从语言到强制你编写健壮的代码的一种方式,但同时会引入大量杂乱的代码并导致其不可读。当然,如果你有替代品和恢复策略的话,捕捉异常并做些什么看起来似乎也在理,在Java编程中选择检查型异常还是运行时异常。

  在finally程序块中关闭或者释放资源

  这在Java编程中,是一个广为人知的最佳实践,在处理网络和IO类的时候,相当于一个标准。在finally块中关闭资源,在正常和异常执行的情况下,保证之前和稀缺资源的合理释放,这由finally块保证。从Java7开始,该语言有了一项更有趣的功能:资源管理自动化或者ARM块能实现这一功能。尽管如此,我们仍然要记住在finally块中关闭资源,这是对于释放像FileDescriptors这类,应用在socket和文件编程的情况下的有限资源很重要的。

  使用标准异常

  我们的第九条最佳实践建议使用标准和内置的Java异常。使用标准异常而不是每次创建我们自己的异常,对于维护性和一致性,不管是现在还是以后,都是最好的选择。重用标准异常使代码更具可读性,因为大部分Java开发人员对标准的像源自于JDK的RuntimeException异常,IllegalStateException异常,IllegalArgumentException异常或者NullPointerException异常,(开发者)他们能一眼就知道每种异常的目的,而不是在代码里查找或者在文档里查找用户定义的异常的目的。

  记录任何方法抛出的异常

  Java编程语言提供了throw和throws关键字来抛出异常,在javadoc中用@throw记录任何方法可能会抛出的异常。如果你编写API或者公共接口,这就变得非常重要。任何方法抛出的异常都有相应的文档记录,这样你就能下意识的提醒任何使用(该方法)的人。

  这些就是所有在Java编程中在处理异常的时候需要遵循的最佳实践,让我们知道了什么是在Java编程中编写异常处理代码时需要遵循的实践。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学习Java编程,该学的知识不能漏

      选择学习Java编程语言,大部分人还是冲着高薪就业去的,既然如此,就业是学习Java的最终目的,企业需要什么我们就学什么。

    动力节点Java学院
  • 零基础怎样学习Java,正确学习怎么学?

      动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

    动力节点Java学院
  • Java基础学习路线送给零基础的朋友

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

    动力节点Java学院
  • 速读原著-Java 20 年:JVM 虚拟化技术的发展

    虚拟化技术已经有了几十年的发展历史,并且在硬件、操作系统层面都已经得到了广泛的应用。虚拟化不但可以显著节省成本,而且还可以提升管理性。同样,虚拟化技术也可以应用...

    cwl_java
  • 2018全新互联网Java后端开发技术思维导图总体体系源码分析分布式架构微服务架构并发编程性能优化开发工具实战项目练习

    对Java的技术,架构技术感兴趣的同学关注我,欢迎工作一到五年的 Java 的工程师朋友们加入的 Java 架构开发:697579751

    美的让人心动
  • Hello,world

    一般指C语言,C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一...

    sjw1998
  • Java基础笔记01

    dreamkong
  • 速读原著-Java 20 年:历史与未来

    作为最受欢迎的编程语言之一,Java 已经走过了 20 个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到 Java 语言的身影。从 1995 年的第...

    cwl_java
  • java最困扰你的那些事?又将如何解决?

    IT故事会
  • 用大白话告诉你 :Java 后端到底是在做什么?

    新手程序员通常会走入一个误区,就是认为学习了一门语言,就可以称为是某某语言工程师了。但事实上真的是这样吗?其实并非如此。

    Java技术江湖

扫码关注云+社区

领取腾讯云代金券