Is finally block really necessary for the clean up code (like closing streams)?

前端 未结 8 2191
情歌与酒
情歌与酒 2021-02-15 10:14

I am very confused as to why do I need to need to put the clean-up code like closing streams in a finally block.

I\'ve read that the code in finally<

8条回答
  •  无人及你
    2021-02-15 11:02

    My question is; if the rest of the method has to continue then why not I put the clean code after my try/catch block in a function.

    You can do so but you have to call this function again in finally block by passing object references( non-java resources) that needs to be closed. Because if this function is not finally block and if any exception occurs your entire method will be skipped without closing non-java reources.

    Also you can use java7 feature -> try-catch with resources. Non-java resources will be automatically closed. You do not need to use finally block.

提交回复
热议问题