日記かな、自分のサーバ作りの?(01、try…catch…の問題)
2024-10-21 11:28:45
今日まだ終わらないうちに、昼間から出会ったbugについて、取りまとめましょう。
一応try…catch…にかかわる問題かな… try(do something){ }catch{ } と try(){
do something;
}catch{ }
の区別。
直接結論から言います:
一般的にCatchの中にリソースの解放は行いません。正常終了の場合、リソースの解放をする必要があるが、そこに書こうとしても、書き忘れる可能性があります。
そのため、Finallyにかくのが妥当だと思われる。
実は、try-with-resources(try(..do something..)のこと)と使っても、効果が同じです。処理が終了すると、自動的リソースをクローズし、解放するのです。 // finally句を用いる例
Socket so = null;
try (OutputStream out = so.getOutPutStream){
out.write(new String("moromoro...."));
} catch (Exception e) {
// 何かの例外対処処理
} finally {
// ここなにも書かなくても、outがクローズになる。
}
}
最新文章
- 用Struts2拦截器实现文件下载前的验证
- redis客户端连接异常
- java类加载与初始化
- 封装fastjson为spring mvc的json view
- java 访问 mysql 数据库的字符集设置
- 浅谈IT技术女转战微电商初体验
- Python内置函数(24)——set
- java多线程(5)---ThreadPoolExecutor
- Android studio,第一个生成,调用成功的jni(说多了都是泪)
- mybatis从mapper接口跳转到相应的xml文件的eclipse插件
- loj#2020 「AHOI / HNOI2017」礼物 ntt
- python自动化开发-[第十一天]-Mysql
- WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题
- 【IDEA】Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目
- C++ 中的指针、引用以及函数调用中的问题
- AJAX(Jquery)
- RMAN中%d %t %s %u,%p,%c 等代替变量的意义
- 显式(静态)调用: LIB + DLL + .H
- 牛客第六场 J.Heritage of skywalkert(On求前k大)
- Vue2学习笔记:组件(Component)
热门文章
- JZOJ 2022.02.11【提高A组】模拟
- docker-compose部署rocketmq
- vue---:click、:class可以这样表示
- OpenLayers集成ECharts
- 前端js下载excel
- No.3.1
- pyinstaller打包Python程序报错OSError: Python library not found: libpython3.8.so, libpython3.8m.so
- [NPUCTF2020]认清形势,建立信心
- TypeError: unsupported operand type(s) for |=: 'dict' and 'dict'
- Codeforces 1492D、Genius's Gambit