2025-05-12 06:55:09 +03:00
|
|
|
|
/*
|
|
|
|
|
* Author: Nikolay Dvurechensky
|
|
|
|
|
* Site: https://www.dvurechensky.pro/
|
|
|
|
|
* Gmail: dvurechenskysoft@gmail.com
|
|
|
|
|
* Last Updated: 12 мая 2025 06:51:53
|
|
|
|
|
* Version: 1.0.7
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
using System.Xml;
|
2024-10-05 10:06:04 +03:00
|
|
|
|
using Ionic.Zip;
|
|
|
|
|
|
|
|
|
|
namespace FileSearch.Logic.Model.Engine
|
|
|
|
|
{
|
|
|
|
|
internal static class SearchExceptionFactory
|
|
|
|
|
{
|
|
|
|
|
public static SearchException Build(FileSystemInfo fileSystemInfo, Exception originalException)
|
|
|
|
|
{
|
|
|
|
|
if (originalException is PathTooLongException)
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "Путь слишком длинный.");
|
|
|
|
|
|
|
|
|
|
if (originalException is IOException)
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "Файл заблокирован для чтения.");
|
|
|
|
|
|
|
|
|
|
if (originalException is UnauthorizedAccessException)
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "Недостаточно прав на чтение файла или папки.");
|
|
|
|
|
|
|
|
|
|
if (originalException is XmlException)
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "XML содержит недопустимые символы.");
|
|
|
|
|
|
|
|
|
|
if (originalException is ZipException)
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "Невозможно обработать ZIP-файл.");
|
|
|
|
|
|
|
|
|
|
return new SearchException(fileSystemInfo, originalException, "Неизвестное необработанное исключение.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|