我有一个服务应用程序,它读取包含要打开的文件列表的配置文件。问题是当它在目录中找不到文件时,它会引发异常,从而取消线程并停止服务应用程序。
这是在线程中调用的函数的代码块:
FILE* file_;
ServiceApp::File::File( const char* filename, const char* mode) :
file_(fopen(filename, mode))
{
if( !file_ )
{
// throwing will stop the service when file doesn't exist, what work around could we do?
throw std::runtime_error("file open failure");
}
问题: 我们如何防止这种情况发生,以便当在目录中找不到配置文件中列出的文件时,应用程序会忽略它并继续该过程?