[filesystem] boost::filesystem::filesystem_error thrown from boost::filesystem::is_directory is not caught by application

OS - Solaris8 Compiler - gcc 3.4.0 boost version - 1_32 I have an application that is using the boost filesystem library. Here is a snippit of the code : void DirectoryInterface::listSubDirectories(String dirPath, FileList & dirList) { pthread_rwlock_rdlock(&DirectoryInterface::fsRwMutex); try { boost::filesystem::path filePath(dirPath, boost::filesystem::native); boost::filesystem::directory_iterator iter(filePath), iterEnd; if(boost::filesystem::exists(filePath)) { for (; iter != iterEnd; ++iter) { if(boost::filesystem::is_directory(*iter)) { .. do something } } } } catch (boost::filesystem::filesystem_error& ex) { .. do something } catch (std::exception& ex) { .. do something } catch (...) { .. do something } pthread_rwlock_unlock(&DirectoryInterface::fsRwMutex); } An exception is thrown by the call to boost::filesystem::is_directory() but is not caught by any of the catch blocks shown here. The application simply terminates with the following message : terminate called after throwing an instance of 'boost::filesystem::filesystem_error' what(): boost::filesystem::is_directory: "/opt/users/tmackinn/neDatabases/20060429050000.auto/10.1.26.25": No such file or directory Abort - core dumped Any ideas what I could be doing wrong? Thanks in advance, Tim
participants (1)
-
Tim MacKinnon