C# Widersprüchliche Exception

ersetz mal deine beiden Strings mit
String zusammensetzungen mit
Code:
s.export_dir + (char)92 + artist + (char)92 + artist + " - " + title + ".mp3
probier das mal aus
oder verusch den string vorm if zusammenzubaun

schaut danach aus als würde er etwas nicht richtig escapen
warum kA
 
Zuletzt bearbeitet:
Ist es möglich, daß die Zieldatei zwar existiert, das Programm aber keinen Lesezugriff auf die Datei hat? Laut der MSDN-Doku für File.Exists() würde die Funktion in einem solchen Fall false zurückgeben:

Return Value
Type: System.Boolean
true if the caller has the required permissions and path contains the name of an existing file; otherwise, false. This method also returns false if path is Nothing, an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns false regardless of the existence of path.
Ergänzung ()

Xetoxyc schrieb:
ersetz mal deine beiden Strings mit
String zusammensetzungen mit
Code:
s.export_dir + (char)92 + artist + (char)92 + artist + " - " + title + ".mp3
probier das mal aus
oder verusch den string vorm if zusammenzubaun

schaut danach aus als würde er etwas nicht richtig escapen
warum kA

Das glaube ich eher nicht. Das Escapen des "\"-Characters ist ja wohl wirklich nicht so schwer, daß man da so verflixt viel verkehrt machen könnte. Und wenn du dir den Textlaut der Exception ansiehst, ist ja wohl eindeutig zu erkennen, daß das Escapen nicht das Problem ist.
Ergänzung ()

StefanDinslaken schrieb:
Hier einmal die ganze Methode. Durchsteppen ist unerträglich, da die Methode 4000x hintereinander aufgerufen wird.

Setz halt ein paar Breakpoints an strategisch günstigen Stellen. Du kannst einen Breakpoint ja zusätzlich noch so konfigurieren, daß er nur zum Anhalten führt, wenn einen bestimmte Bedingung erfüllt ist; z.B. title == "Daddy Cool, Painter Man, Gotta". Wenn der Breakpoint dann angelaufen wird, navigierst du im Explorer mal zur Zieldatei und schaust nach, ob die wirklich schon existiert.
 
@antred: "The Exists method returns false if any error occurs while trying to determine if the specified file exists. This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters, a failing or missing disk, or if the caller does not have permission to read the file."
Also keine Rechte um die Datei zu lesen - halte ich ehrlich gesagt irgendwie für unwahrscheinlich, wohl aber auch nicht für unmöglich.

Rechte überprüfen wird nicht schaden, aber wenn daran rumgepfuscht wurde, wird das Programm sich wohl auch mit schreibendem Zugriff schwer tun...

Ich würde einfach mal folgendes machen: Die Datei vorher umbenennen/löschen/rausverschieben und schauen, ob es dann durchläuft :-)
 
1668mib schrieb:
Also keine Rechte um die Datei zu lesen - halte ich ehrlich gesagt irgendwie für unwahrscheinlich, wohl aber auch nicht für unmöglich.

Ich stimme dir zu. Sehr wahrscheinlich ist es nicht, aber da es bis jetzt noch keine plausible Erklärung zu geben scheint, sollte man auch den unwahrscheinlichen Möglichkeiten nachgehen.
 
Zurück
Oben