Java编程中异常处理的最佳实践下面是我收集的10个Java编程中异常处理的10个最佳实践。在Java编程中,对于异常检查有褒有贬。强制处理异常是一种语言的功能。在本文中,我们将尽量减少检查异常的使用,同时学习在Java编程中使用检查异常与未检查异常。1.对可恢复错误使用检查异常,对编程错误使用非检查异常在检查异常和非检查异常之间进行选择总是让Java程序员感到困惑。Checkedexceptions保证你为错误情况提供异常处理代码,这是一种从语言上强制你编写健壮代码的方式,但同时引入了很多乱七八糟的代码并使其不可读。当然,如果你有替换和恢复策略,捕获异常并做一些事情似乎是合理的。在Java编程中选择检查异常和运行时异常。2、在finally程序块中关闭或释放资源这是Java编程中众所周知的最佳实践,相当于处理网络和IO类时的一个标准。在finally块中关闭资源,保证了在正常执行和异常执行的情况下,之前稀缺资源的合理释放,这是由yfinally块保证的。从Java7开始,该语言有一个更有趣的特性:资源管理自动化或ARM块可以实现这个功能。但是,我们还是要记得在finally块中关闭资源,这对于释放像FileDescriptors这样有限的资源非常重要,这些资源在socket和文件编程的情况下使用。3.在堆栈跟踪中包含异常的原因很多时候,Java库和开源代码在抛出由另一个异常引起的异常时将一个异常包装到另一个异常中。记录和打印根异常变得非常重要。Java异常类提供了getCause()方法来获取异常原因,可以提供更多关于异常根源的信息。这种Java实践在调试或故障排除时大有帮助。永远记住,如果将一个异常包装到另一个异常中,则构造一个新异常会传递源异常。4.始终提供有关异常的有意义且完整的信息异常信息是最重要的地方,因为这是程序员最先看到的地方,在这里可以找到问题的根源。这里始终提供准确和真实的信息。例如比较IllegalArgumentException的两条异常消息:消息1:“Incorrectargumentformethod”消息2:“Illegalvaluefor${argument}:${value}***消息只说明参数非法或不正确,但第二个消息包括参数名称和非法值,这对于查找错误原因很重要。在Java编程中编写异常处理代码时始终遵循此Java最佳实践。5.避免过度使用检查异常检查异常具有一定的在执行方面有优势,但同时它也破坏了代码,通过模糊业务逻辑使代码的可读性降低。只要你不过度使用检查异常,你就可以***减少这种情况,而这样做的结果是你会得到更干净的代码。你也可以使用Java7的新功能,例如一个catch块用于多个异常和自动资源管理以删除重复项。6.将检查这是技术之一es用于限制大多数框架(如Spring)中检查异常的使用。来自JDBC的大部分已检查异常都被包装到DataAccessException中,而(DataAccessException)异常是一种未检查异常。这就是Java最佳实践带来的好处。具体的异常仅限于特定的模块,比如SQLException,放在DAO层,意义明确的运行时异常抛给client层。7.记住,对于性能而言,异常是昂贵的需要记住的一件事是异常是昂贵的并且会使你的代码运行缓慢。如果你有办法从ResultSet(结果集)中读取,这通常会抛出一个SQLException而不移动到下一个元素,这将比不抛出异常的普通代码执行得慢得多。因此,尽量减少不必要的异常捕获和移动,没有任何固定的原因。不要只是抛出和捕获异常。如果你可以使用布尔变量来表示执行结果,你可能会得到一个更干净、更高效的解决方案。修复错误的根本原因并避免不必要的异常捕获。8.避免空的catch块没有什么比空的catch块更糟糕的了,因为它不仅隐藏了错误和异常,而且还可能使您的对象处于不可用或脏状态。只有当你非常确定异常不会以任何方式继续影响对象状态时,空的catch块才能变得毫无意义,但在程序执行期间记录错误仍然是最好的(方法)。对于在Java编程中编写异常处理代码,这不仅是Java最佳实践,而且是最通用的实践之一。9.使用标准异常我们的第九个最佳实践推荐使用标准和内置的Java异常。使用标准异常而不是每次都创建我们自己的异常是可维护性和一致性的最佳选择,无论是现在还是将来。重用标准异常使代码更具可读性,因为大多数Java开发人员都熟悉JDK中的RuntimeException、IllegalStateException、IllegalArgumentException或NullPointerException等标准,(开发人员)他们可以一目了然地了解每个异常,以便在其中找到用户定义的异常代码或文档中。10、记录任何方法抛出的异常Java提供了throw和throws关键字来抛出异常,在javadoc中使用@throw来记录任何方法可能抛出的异常。如果您编写API或公共接口,这将变得非常重要。任何方法抛出的异常都会相应地记录下来,以便您可以下意识地提醒任何使用(该方法)的人。这些都是在Java编程中处理异常时要遵循的最佳实践。让我们知道在Java编程中编写异常处理代码时应遵循的做法。
