Конструктор FileInfo выбрасывает оба вышеуказанных исключения. Планируется использовать FileInfo для определения корректности пути по аналогии с этим методом, так как при использовании System.IO.File.Exists(string path) если у вызывающего оператора нет достаточных полномочий на чтение заданного файла, исключения не создаются, а метод возвращает false вне зависимости от существования path. Мне же необходимо четко определять возникающие ошибки.
string fileName = @"C:\Users\J.Doe\example.file";
System.IO.FileInfo fi = null;
try {
fi = new System.IO.FileInfo(fileName);
} catch (PathTooLongException) {
// The specified path, file name, or both exceed the system-defined maximum length.
// For example, on Windows-based platforms, paths must be less than 248 characters,
// and file names must be less than 260 characters.
} catch (NotSupportedException) {
// fileName contains a colon (:) in the middle of the string
} catch (SecurityException) {
// The caller does not have the required permission.
} catch (UnauthorizedAccessException) {
// Access to fileName is denied.
}
if (ReferenceEquals(fi, null)) {
// file name is not valid
} else {
// file name is valid
// Check for existence by calling fi.Exists.
}
В чем разница между System.Security.SecurityException и System.UnauthorizedAccessException? При каких обстоятельствах, в данном конкретном случае, возникнет каждое из вышеуказанных исключений?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как получить число типа float из двух байт? Есть два байтаДопустим 0x02 - младшая часть и 0x04 - старшая часть
Необходимо POST запросом отправить на сервер HTML страницуHTML хранить специальные символы, вроде <,& и тд, из-за которых возникает ошибка 500 сервера