专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
今天看啥  ›  专栏  ›  芋道源码

瞧瞧别人家的异常处理,那叫一个优雅

芋道源码  · 公众号  · Java  · 2024-12-19 09:31
    

主要观点总结

本文介绍了Java中异常处理的多个关键点,包括使用全局异常处理器、捕获具体异常、在finally中关闭IO流等,以及一些注意事项和最佳实践。

关键观点总结

关键观点1: 使用全局异常处理器

在Spring Boot中使用@RestControllerAdvice注解定义全局异常处理handler,使用@ExceptionHandler注解处理异常。

关键观点2: 尽可能捕获具体异常

在业务逻辑方法中,针对可能出现的不同异常,尽可能捕获具体的异常,然后分别处理。

关键观点3: 在finally中关闭IO流

无论是否发生异常,都需要在finally中关闭IO流,确保资源被正确释放。

关键观点4: 多用try-catch-resource

使用try-with-resource语法糖自动关闭资源,减少代码量。

关键观点5: 不在finally中return

避免在finally代码块中返回数据,以免影响方法的正常返回值。

关键观点6: 异常打印详细

在捕获异常后,将异常信息和堆栈信息记录到日志中,方便问题定位。

关键观点7: 优先使用标准异常

在Java中优先使用标准异常,避免自定义过多的异常类。

关键观点8: 对异常进行文档说明

在方法文档中添加异常的说明,方便调用者了解可能抛出的异常。

关键观点9: 别用异常控制程序的流程

避免使用异常来控制程序的流程,应将异常作为处理异常情况的手段。

关键观点10: 自定义异常

在必要时可以自定义业务异常,增加code和message等字段,以便更好地处理异常情况。


文章预览

👉 这是一个或许对你有用 的社群 🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 「 芋道快速开发平台 」 知识星球。 下面是星球提供的部分资料:   《项目实战(视频)》 :从书中学,往事上 “练 ” 《互联网高频面试题》 :面朝简历学习,春暖花开 《架构 x 系统设计》 :摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》 :系统学习,互联网主流技术栈 《必读 Java 源码专栏》 :知其然,知其所以然 👉 这是一个或许对你有用的开源项目 国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。 功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能: Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览