2013-09-24 3 views
0

Я пишу код для копирования файлов из одной директории в другую. Я выбираю путь к файлу из 2D-массива.Первое случайное исключение типа «System.IO.IOException» произошло в mscorlib.dll

for (int row = 1; row <= numRows; ++row) 
{ 
     path = valueArray[row, 13].ToString(); 

     fileName = valueArray[row, 4].ToString(); 

     CopyDirectory.myCopy(path, "C:\\TestCopyDest", fileName); 
} 

Вышеупомянутая программа полностью копирует первую папку. Однако затем он генерирует исключение:
A first chance exception of type 'System.IO.IOException' occurred in mscorlib.dll.

Что мне делать? Нужно ли создавать разные потоки для копирования?

+0

Это что-то действительно умное? Просто интересно, почему вы изобрели класс, чтобы сделать это, когда это кажется всего лишь несколькими строками кода с использованием классов каталогов, путей и файлов. –

+0

Я работаю над проектом. И эти строки кода используются во многих местах. –

+0

Умение Make, хотя я бы, вероятно, передал коллекцию имен и сделал это в oner. –

ответ

4

A First Chance Exception не означает, что у вашего кода возникли проблемы.

Прочтите приведенную выше ссылку.

+0

Спасибо за ссылку. Но он работает только для первого пути и не подходит для остальных путей? –

+0

Что такое исключение? Какая ошибка? – zmbq

+0

Программа завершается после копирования первого каталога, указывая это исключение. –

0

Закомментируйте линии действия и выписывать содержимое ваших строк, чтобы убедиться, что вы получаете действительные пути и не имеют имен боян файлов:

Console.WriteLine («путь:» + путь + ", file:" + имя_файла); //CopyDirectory.myCopy(path, "C: \ TestCopyDest", fileName);

Вы хотели бы скопировать все в 1 целевую папку?

2

Я думаю this поможет вам

Первый шанс означает, что программа не была в состоянии справиться с ним еще, отладчик приходит первым. Когда вы это пропустите, приложение будет хорошо разбираться в этом, так что вы не получите ошибок. Вы должны настроить Visual Studio на игнорирование исключенных исключений (1-го случая) и только перерыв на необработанных.

-1

Ваша программа работает как 64-разрядный процесс. Ваша DLL содержит 32-битный неуправляемый код.

+0

это неправильно, google сообщение об ошибке – Zoxac

Смежные вопросы