<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem]]></title><description><![CDATA[<p>Hi! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Mit folgendem Code möchte ich durch alle Verzeichnisse und Unterverzeichnisse eines Laufwerks &quot;laufen&quot;. Benutze dazu wie im Titel gesagt die Filesystem Bibliothek von Boost.<br />
Funktioniert soweit auch, bis auf dieses Problem: Kommt es an den (versteckten und schreibgeschützten) Ordner &quot;System Volume Information&quot;, wird eine Exception geworfen, die auf ein what() mit diesem hier antwortet: &quot;boost::filesystem::basic_directory_iterator constructor&quot;.<br />
System ist Windows XP, die Boost-Sourcen hab ich mir erst letzte Woche heruntergeladen und compiliert, sollten also aktuell sein.</p>
<p>Code ist dieser hier:</p>
<pre><code class="language-cpp">for (std::set&lt;std::string&gt;::iterator itrDrives=oDrives.begin(); itrDrives!=oDrives.end(); itrDrives++)
  {
    bfs::path oRootPath=bfs::system_complete(bfs::path(*itrDrives, bfs::native));
    oDirectories.insert(oRootPath.native_directory_string());
    for (std::set&lt;std::string&gt;::iterator itrScan=oDirectories.begin(); itrScan!=oDirectories.end(); itrScan++)
    {
      bfs::path oCurPath=bfs::system_complete(bfs::path(*itrScan, bfs::native));
      bfs::directory_iterator itrEOD;
      for (bfs::directory_iterator itrScanDir(oCurPath); itrScanDir!=itrEOD; itrScanDir++)
      {
        if (bfs::is_directory(itrScanDir-&gt;status()))
          oDirectories.insert((itrScanDir-&gt;path()).native_directory_string());
      }
    }
  }
</code></pre>
<p>Verzeiht, wenn das alles noch wirr wirkt; ist neu für mich, wär für Tipps die nix direkt mit dem Problem zutun also auch dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Viele Grüße,<br />
Mao</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209183/exception-beim-durchgehen-aller-verzeichnisse-mit-boost-filesystem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 12:33:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209183.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Mar 2008 17:04:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:04:30 GMT]]></title><description><![CDATA[<p>Hi! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Mit folgendem Code möchte ich durch alle Verzeichnisse und Unterverzeichnisse eines Laufwerks &quot;laufen&quot;. Benutze dazu wie im Titel gesagt die Filesystem Bibliothek von Boost.<br />
Funktioniert soweit auch, bis auf dieses Problem: Kommt es an den (versteckten und schreibgeschützten) Ordner &quot;System Volume Information&quot;, wird eine Exception geworfen, die auf ein what() mit diesem hier antwortet: &quot;boost::filesystem::basic_directory_iterator constructor&quot;.<br />
System ist Windows XP, die Boost-Sourcen hab ich mir erst letzte Woche heruntergeladen und compiliert, sollten also aktuell sein.</p>
<p>Code ist dieser hier:</p>
<pre><code class="language-cpp">for (std::set&lt;std::string&gt;::iterator itrDrives=oDrives.begin(); itrDrives!=oDrives.end(); itrDrives++)
  {
    bfs::path oRootPath=bfs::system_complete(bfs::path(*itrDrives, bfs::native));
    oDirectories.insert(oRootPath.native_directory_string());
    for (std::set&lt;std::string&gt;::iterator itrScan=oDirectories.begin(); itrScan!=oDirectories.end(); itrScan++)
    {
      bfs::path oCurPath=bfs::system_complete(bfs::path(*itrScan, bfs::native));
      bfs::directory_iterator itrEOD;
      for (bfs::directory_iterator itrScanDir(oCurPath); itrScanDir!=itrEOD; itrScanDir++)
      {
        if (bfs::is_directory(itrScanDir-&gt;status()))
          oDirectories.insert((itrScanDir-&gt;path()).native_directory_string());
      }
    }
  }
</code></pre>
<p>Verzeiht, wenn das alles noch wirr wirkt; ist neu für mich, wär für Tipps die nix direkt mit dem Problem zutun also auch dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Viele Grüße,<br />
Mao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481584</guid><dc:creator><![CDATA[Mao]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:04:30 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:08:03 GMT]]></title><description><![CDATA[<p>Und wo ist deine Frage? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481586</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:40:40 GMT]]></title><description><![CDATA[<p>Sorry, Frage ist folgende:<br />
Warum kommt die Exception? Was kann ich dagegen tun bzw. was mach ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481606</guid><dc:creator><![CDATA[Mao]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:40:40 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:46:55 GMT]]></title><description><![CDATA[<p>Du kannst nichts dagegen tun. Eine Exception ist ein Ausnahmefehler. Es dient dazu, dich über einen Ausnahmefall zu informieren. Und du kannst darauf reagieren. Wie und ob du darauf reagierst, ist dir persönlich freigestellt.</p>
<p>- Du kannst sie z.B. einfach abfangen und gut ist (also nicht mal eine Info an den User geben).</p>
<p>- Du kannst sie abfangen und eine neue bzw. andere Exception weiter werfen.</p>
<p>- Du kannst sie abfangen und ganz spetakuläre Aktionen ausführen (einen anderen Programmverlauf veranlassen, oder Reports an einen Server schicken...)</p>
<p>- Du kannst sie auch garnicht abfangen, und irgend jemand anderes muß sie abfangen.</p>
<p>Es muß auch nicht heißen, das du was falsch gemacht hast. Kommt auf die Exception und die what-Meldung an.</p>
<p><a href="http://www.kharchi.eu/wiki/doku.php?id=cpp:std:exception" rel="nofollow">Hier</a> ist ein Tutorial.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481609</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:46:55 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:52:24 GMT]]></title><description><![CDATA[<p>Ja, was Exceptions sind war mir so schon klar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Ich meinte nur, dass ich evtl. etwas bei der Verwendung der Bibliothek missachtet hätte. Denn wie du ja selbst sagst ist eine Exception eine Ausnahme, die auf irgendeinen Missstand hinweisen soll. Boost::Filesystem ist mir (wie all die anderen Boost-Libs auch) neu.</p>
<p>Dann werd ich die Exception im Programmablauf halt ignorieren. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Viele Grüße,<br />
Mao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481617</guid><dc:creator><![CDATA[Mao]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 17:57:52 GMT]]></title><description><![CDATA[<p>Du hast dir doch für den Grund der Exception schon selber die Antwort gegeben:</p>
<blockquote>
<p>Kommt es an den (versteckten und schreibgeschützten) Ordner &quot;System Volume Information&quot;, wird eine Exception geworfen</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1481620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481620</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 27 Mar 2008 17:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 18:12:16 GMT]]></title><description><![CDATA[<p>War für mich mehr ein Auslöser, als ein Grund. Ich sagte ja bereits: Wäre ja ebenso möglich gewesen, dass ich einen Fehler im Umgang mit der Bibliothek gemacht habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481626</guid><dc:creator><![CDATA[Mao]]></dc:creator><pubDate>Thu, 27 Mar 2008 18:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 18:37:27 GMT]]></title><description><![CDATA[<p>Der Fehler liegt einfach darin, daß man nicht direkt das Verzeichnis 'System Volume Information' öffnen kann. (Kannst es ja vom Explorer aus mal versuchen!)</p>
<p>Also fang die Exception einfach lokal ab und nimm das nächste Verzeichnis (bzw. die nächste Datei).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481648</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 27 Mar 2008 18:37:27 GMT</pubDate></item><item><title><![CDATA[Reply to Exception beim Durchgehen aller Verzeichnisse mit Boost::Filesystem on Thu, 27 Mar 2008 18:59:27 GMT]]></title><description><![CDATA[<p>Ah, dann bin ich jetzt wenigstens beruhigt, dass ich nix gänzlich falsch gemacht habe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Danke!<br />
Mao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1481661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1481661</guid><dc:creator><![CDATA[Mao]]></dc:creator><pubDate>Thu, 27 Mar 2008 18:59:27 GMT</pubDate></item></channel></rss>