Согласно MSDN , GetFiles
может выдавать следующие исключения:
IOException
UnauthorizedAccessException
ArgumentException
ArgumentNullException
PathTooLongException
DirectoryNotFoundException
Вы не поймаете ни одного из них.Единственное исключение, которое вы ловите, имеет тип int
, который не может быть выдан GetFiles
.Чтобы решить эту проблему, либо добавьте операторы catch для каждого из приведенных выше исключений и обработайте их соответствующим образом, либо используйте многоточие для перехвата всех исключений:
try {
files = Directory::GetFiles(path);
} catch(...) {
MessageBox::Show("Error getting files.");
return 0;
}