diff --git a/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs b/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs index b9a7bd717..9f2b468b7 100644 --- a/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs +++ b/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using System.Linq; using NLog; using NzbDrone.Common; @@ -22,16 +23,24 @@ public FreeSpaceSpecification(IDiskProvider diskProvider, Logger logger) public bool IsSatisfiedBy(LocalEpisode localEpisode) { - var path = Directory.GetParent(localEpisode.Series.Path); - var freeSpace = _diskProvider.GetAvilableSpace(path.FullName); - - if (freeSpace < localEpisode.Size + 100.Megabytes()) + try { - _logger.Warn("Not enough free space to import: {0}", localEpisode); - return false; - } + var path = Directory.GetParent(localEpisode.Series.Path); + var freeSpace = _diskProvider.GetAvilableSpace(path.FullName); - return true; + if (freeSpace < localEpisode.Size + 100.Megabytes()) + { + _logger.Warn("Not enough free space to import: {0}", localEpisode); + return false; + } + + return true; + } + catch (Exception ex) + { + _logger.ErrorException("Unable to check free disk space while importing: " + localEpisode.Path, ex); + throw; + } } } }