Check if file exists instead of catching exceptions

This commit is contained in:
Bond_009
2019-01-27 17:00:17 +01:00
parent 1a3543e5a5
commit ffe79c8982
6 changed files with 73 additions and 99 deletions

View File

@@ -395,38 +395,33 @@ namespace Emby.Server.Implementations.Library
foreach (var fileSystemInfo in item.GetDeletePaths().ToList())
{
try
if (File.Exists(fileSystemInfo.FullName))
{
_logger.LogDebug("Deleting path {path}", fileSystemInfo.FullName);
if (fileSystemInfo.IsDirectory)
try
{
_fileSystem.DeleteDirectory(fileSystemInfo.FullName, true);
_logger.LogDebug("Deleting path {path}", fileSystemInfo.FullName);
if (fileSystemInfo.IsDirectory)
{
_fileSystem.DeleteDirectory(fileSystemInfo.FullName, true);
}
else
{
_fileSystem.DeleteFile(fileSystemInfo.FullName);
}
}
else
catch (IOException)
{
_fileSystem.DeleteFile(fileSystemInfo.FullName);
if (isRequiredForDelete)
{
throw;
}
}
}
catch (FileNotFoundException)
{
// may have already been deleted manually by user
}
catch (DirectoryNotFoundException)
{
// may have already been deleted manually by user
}
catch (IOException)
{
if (isRequiredForDelete)
catch (UnauthorizedAccessException)
{
throw;
}
}
catch (UnauthorizedAccessException)
{
if (isRequiredForDelete)
{
throw;
if (isRequiredForDelete)
{
throw;
}
}
}

View File

@@ -1029,6 +1029,11 @@ namespace Emby.Server.Implementations.Library
{
var path = GetPolicyFilePath(user);
if (!File.Exists(path))
{
return GetDefaultPolicy(user);
}
try
{
lock (_policySyncLock)
@@ -1036,10 +1041,6 @@ namespace Emby.Server.Implementations.Library
return (UserPolicy)_xmlSerializer.DeserializeFromFile(typeof(UserPolicy), path);
}
}
catch (FileNotFoundException)
{
return GetDefaultPolicy(user);
}
catch (IOException)
{
return GetDefaultPolicy(user);
@@ -1128,6 +1129,11 @@ namespace Emby.Server.Implementations.Library
{
var path = GetConfigurationFilePath(user);
if (!File.Exists(path))
{
return new UserConfiguration();
}
try
{
lock (_configSyncLock)
@@ -1135,10 +1141,6 @@ namespace Emby.Server.Implementations.Library
return (UserConfiguration)_xmlSerializer.DeserializeFromFile(typeof(UserConfiguration), path);
}
}
catch (FileNotFoundException)
{
return new UserConfiguration();
}
catch (IOException)
{
return new UserConfiguration();