阿里巴巴Java开发手册-finally块必须对资源对象、流对象进行关闭操作,如果有异常也要做try-cach操作
对于JDK7及以上版本,可以使用try-with-resources方式
使用方式:
/*** https://www.cnblogs.com/itZhy/p/7636615.html* 其实这种方式只是语法糖,反编译以后还是tryCacheThrowTest()中的代码* https://www.cnblogs.com/langtianya/p/5139465.html* Throwable#addSuppressed()作用:通常在finally中出现异常不是我们需要关注点,当一个异常被抛出的时候,* 可能有其他异常因为该异常而被抑制住,从而无法正常抛出,此时可以通过Throwable#addSuppressed()* 方法将异常记录到堆栈中,通过getSuppressed方法来获取这些异常*/@Testpublic void tryWithResourceTest(){try (FileInputStream inputStream = new FileInputStream(new File("test"))) {System.out.println(inputStream.read());} catch (IOException e) {throw new RuntimeException(e.getMessage(), e);}}
@Testpublic void tryCacheThrowTest(){try {FileInputStream inputStream = new FileInputStream(new File("test"));Throwable var2 = null;try {System.out.println(inputStream.read());} catch (Throwable var12) {var2 = var12;throw var12;} finally {if (inputStream != null) {if (var2 != null) {try {inputStream.close();} catch (Throwable var11) {var2.addSuppressed(var11);}} else {inputStream.close();}}}} catch (IOException var14) {throw new RuntimeException(var14.getMessage(), var14);}}
阿里巴巴Java开发手册-finally块必须对资源对象、流对象进行关闭操作,如果有异常也要做try-cach操作相关推荐
- 阿里巴巴 Java 开发手册 Java 开发手册(1.0.1)
一.编程规约 (一) 命名规约 [强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / nam ...
- 关于数据库中NULL的描述,下列哪些说法符合《阿里巴巴Java开发手册》
关于数据库中NULL的描述,下列哪些说法符合<阿里巴巴Java开发手册>:答案在文末 A. NULL=NULL的返回结果为true. B. NULL与任何值的比较结果都为NULL. C. ...
- 阿里巴巴 Java 开发手册之编程规约(一)-------我的经验
阿里巴巴 Java 开发手册 一.编程规约 (一) 命名规约 1.[强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.(代码规范,易读) 反例: _name / __na ...
- 白话阿里巴巴Java开发手册(编程规约)
本文欢迎转载,转载请注明原文链接,并附作者个人信息李艳鹏. 研发流程管理 最近,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里人多年一线实战中积累的研发流程规范,这些流程规范在一定 ...
- 阿里巴巴java开发手册学习
本文对阿里巴巴java开发手册中需要注意的点予以记录 1.编程规约 类名中包含领域模型如DO/BO/DTO/VO时要 全部大写,如UserDTO. 抽象类要以Abstract或Base开头,异常类以E ...
- java replaceall删除中括号和内容_「技术文章」《阿里巴巴 Java 开发手册》精华摘要...
一.写在开头 Java作为一个编程界最流行的语言之一,有着很强的生命力.代码的编写规范也是不容忽视的,今天,我就把自己阅读的国内的互联网巨头阿里巴巴的<阿里巴巴 Java 开发手册>一些精 ...
- [转]白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结 ...
- char怎么比较_为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?...
在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个 ...
- 304902阿里巴巴Java开发手册1.4.0
转自官网 前言 <阿里巴巴Java开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者.现代软件行业的高速 ...
最新文章
- 大厂面试通关图鉴:骚话走一走,百万薪到手!
- Spring实战6-利用Spring和JDBC访问数据库
- dbms和sql_DBMS | 并发控制和各种并发控制方法
- 网页优化系列三:使用压缩后置viewstate
- .axf文件_ELF文件格式与readelf命令使用
- cisco 的端口聚合
- Java异步编程——深入源码分析FutureTask
- phpMyAdmin 登陆超时(1440秒未活动),请重新登录问题
- 在MonthCalendar控件中选中日期
- GPU-CUDA编程学习(四)-共享内存
- 前端开发系列(十六)网页布局教程(2)
- Spring事务切面原理
- Unity教程之-Unity游戏技能Skill系统架构设计
- xen html插件美化桌面,AliceStyle美化插件(十分强大的插件)
- 计算多项式的值——基于C语言程序
- 苹果微信下载 iOS微信各版本列表
- elementui table 表格固定列最后一行显示不全
- 技术图文:如何利用BigOne的API制作自动化交易系统--网格交易法
- Java 判断字符是否是汉字
- 什么是量化交易接口?
热门文章
- quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist
- AI应用开发实战系列之一: 从零开始配置环境
- 现代软件工程 第二章 【个人技术】 练习与讨论
- 现代软件工程 2012 北航 项目复审模板
- python的email模块_python email 模块
- python历史背景_python学习之旅1-1(python背景、安装介绍)
- 拼装机器人感想_学习制作机器人的感想作文500字15篇
- nginx 判断手机端跳转_nginx基本功能和工作原理
- 深度linux 转中文,Linux Deepin 中文Linux系统的新希望?
- matlab length_MATLAB入门