Re: [Boost-bugs] [Boost C++ Libraries] #4494: recursive_directory_iterator throws unexpectedly in the non-throw mode

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4494: recursive_directory_iterator throws unexpectedly in the non-throw mode
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-31 15:54:02


#4494: recursive_directory_iterator throws unexpectedly in the non-throw mode
--------------------------------------+---------------------------------
  Reporter: ttan@… | Owner: bemandawes
      Type: Feature Requests | Status: assigned
 Milestone: Boost 1.44.0 | Component: filesystem
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords: filesystem v3 throw
--------------------------------------+---------------------------------

Comment (by anonymous):

 #define HDIR_DEEP_ITERATOR_BASE
 boost::filesystem::recursive_directory_iterator

 class dir_deep_iterator : public HDIR_DEEP_ITERATOR_BASE

 {

 public:

     .....

     dir_deep_iterator & operator ++()

     {

         try

         {

             return (dir_deep_iterator &)HDIR_DEEP_ITERATOR_BASE::operator
 ++();

         }

         catch(...)

         {

             //有些特殊的目录无法打开,比如"System Volume Information",导致抛出异常

             no_push(true);

             return (dir_deep_iterator &)HDIR_DEEP_ITERATOR_BASE::operator
 ++();

         }

     }

     ....

 }

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4494#comment:3>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:14 UTC