繁体   English   中英

try / catch块中的C ++文件关闭

[英]C++ File Closure in try/catch block

这是正确的吗? 来写:

try {
  fstream file;
  file.open(....);
  f(x);   // this function may throw an exception
  ...
  file.close();
} catch {
  ...
}

我想知道是否如果try块中的函数引发异常将关闭文件?

首先,您的调用file.close(); 不必要:省略它没有什么区别,因为无论如何销毁目标file都会关闭它。

其次,无论是否在try catch块中引发异常,都将调用file的析构函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM