首页 > 其他 > 详细

日記かな、自分のサーバ作りの?(01、try…catch…の問題)

时间:2019-06-29 10:55:48      阅读:77      评论:0      收藏:0      [点我收藏+]
今日まだ終わらないうちに、昼間から出会った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がクローズになる。
    }
}

 

日記かな、自分のサーバ作りの?(01、try…catch…の問題)

原文:https://www.cnblogs.com/zwk-It-goodmorning/p/11105424.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!