ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
916
916
EMPFEHLEN
-
17.05.06 21:41 #1
- Registriert seit
- Jun 2005
- Beiträge
- 91
Hallo,
Ich hoffe ihr könnt mir Helfen.....
In dem Code-Beispiel unten vesuche ich Dateien in einem bestimmten Pfad zu suchen. und diese mit dem kompletten Pfad in eine ListBox einzutragen.
Das funktioniert soweit auch. Allerdings wenn ich auf der Ebene "C:\" oder "D:\" suchen lasse, kommt e zur einer Ausnahme "Der Zugriff auf den Pfad D:\System Volume Information wurde verweigert" -> UnauthorizedAccessException
wie sage ich ihm das er weitermachen soll wenn er auf eine Exception trifft?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
try { string[] fileNames = Directory.GetFiles(Path, Ext, SearchOption.AllDirectories); for (int i = 0; i < fileNames.Length; i++) { listBox1.Items.Add(fileNames[i]); Fcounter++; } } catch (Exception er) { MessageBox.Show("error"); }
Danke im Vorraus
mfg MarcGeändert von marcaurel1984 (17.05.06 um 21:43 Uhr)
-
Hi,
ich glaub nicht, dass du auf diese Art ein Chance hast.
Die Exception wird in GetFiles geworfen und die Methode ist damit zu ende.
Um Verzeichnisse und deren Unterverzeichnisse zu durchsuchen solltest du besser eine Methode nutzten, die du rekusiv aufrufst.
Darin kannst du dann die Excption fangen und mit dem nächsten Directory fortfahren.
Und mal ne kurze Frage noch:
für was ist dieser Fcounter? Die Anzahl der Dateien?
Du weißt aber, dass du mit FileNames.Length und listBox1.Items.Count an das selbe Ergebnis kommst?
Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
18.05.06 08:34 #3
- Registriert seit
- Jun 2005
- Beiträge
- 91
Hi,
Und welche Methode kann ich rekursiv aufrufen?
PS: Fcounter = Anzahl der Dateien
ist ein kleines überbleibsel von vergangenen versuchen...
mfg MarcGeändert von marcaurel1984 (18.05.06 um 08:38 Uhr)
-
du holst dir halt von deinem root alle Folder. und für jeden folder rufst du deine dateien ab.
quasi
void getfolder(string folder)
{
getfiles(folder);
foreach (string f in System.IO.Directory.GetDirectories(folder))
{
getfolder(f);
}
}
void getfiles(string folder)
{
foreach (string f in System.IO.Directory.GetFiles(folder))
{
System.Diagnostics.Debug.WriteLine(folder + "\\" + f);
}
}
meinst vom prinzip sicher das?
PS: bitte beachtet die groß und kleinschreibung und haltet euch an die netiquette.
Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...
-
Sprach der, der selber alles klein schrieb ....
-
Was Für Ein zufalL
Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...
-
Übertreib es nicht.
-
18.05.06 14:26 #8
- Registriert seit
- Jun 2005
- Beiträge
- 91
ganz uncool bleiben....
mfg Marc
-
Genau
DD
Freut euch lieber über dieses geek Rekursive da
Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...
-
Ist das Problem nun geklärt oder nicht?
Wenn ja bitte auf "Erledigt" setzen.
Oder du schreibst, wo du noch Probleme hast.
Aber wie von NRFi "sauber" formatiert geschrieben, musst du die Methode schon selbst schreiben.Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
Hi Leute!
Zur Rekursion:
Re: Folder copy - Post
Die Exeptions die auftreten könnten kannst so behandeln:
Code csharp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
class ErrorHandler { Exception _Exception; /// <summary> /// Im Konstukor wird die Exception gespeichert und anschließend behandelt. /// </summary> /// <param name="ex"></param> public ErrorHandler( Exception ex ) { _Exception = ex; HandleException(); } void HandleException() { if ( _Exception is SoapException ) UserDialog.Show_SOAPexception( _Exception ); else if ( _Exception is WebException ) UserDialog.Show_SysNetWebException( _Exception ); else if ( _Exception is SocketException ) UserDialog.Show_SysNetWebException( _Exception ); else if ( _Exception is ArgumentOutOfRangeException ) UserDialog.Show_UnusualException( _Exception ); else if ( _Exception.GetType() != typeof (Exception) ) UserDialog.Show_UnusualException( _Exception ); else UserDialog.Show_Exception( _Exception ); } }
So ich muss wieder... Macht's gut.
MfG,
cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
Ähnliche Themen
-
wie weiter?
Von luke5 im Forum Flash PlattformAntworten: 1Letzter Beitrag: 21.08.05, 15:40 -
Forms mit Weiter-Button weiter schalten
Von FutureTeam im Forum .NET ArchivAntworten: 3Letzter Beitrag: 11.04.05, 13:44 -
Mal weiter oben mal weiter unten
Von redX im Forum HTML & XHTMLAntworten: 0Letzter Beitrag: 28.08.04, 14:43 -
Und wie weiter?!
Von DerSonic im Forum Cinema 4DAntworten: 3Letzter Beitrag: 11.02.03, 18:41





Zitieren

Login





