diff --git a/src/NzbDrone.Common/PathEqualityComparer.cs b/src/NzbDrone.Common/PathEqualityComparer.cs index bd6fa430d..e8322864a 100644 --- a/src/NzbDrone.Common/PathEqualityComparer.cs +++ b/src/NzbDrone.Common/PathEqualityComparer.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using NzbDrone.Common.EnvironmentInfo; using NzbDrone.Common.Extensions; @@ -6,7 +7,7 @@ namespace NzbDrone.Common { public class PathEqualityComparer : IEqualityComparer { - public static readonly PathEqualityComparer Instance = new PathEqualityComparer(); + public static readonly PathEqualityComparer Instance = new (); private PathEqualityComparer() { @@ -19,12 +20,19 @@ namespace NzbDrone.Common public int GetHashCode(string obj) { - if (OsInfo.IsWindows) + try { - return obj.CleanFilePath().Normalize().ToLower().GetHashCode(); - } + if (OsInfo.IsWindows) + { + return obj.CleanFilePath().Normalize().ToLower().GetHashCode(); + } - return obj.CleanFilePath().Normalize().GetHashCode(); + return obj.CleanFilePath().Normalize().GetHashCode(); + } + catch (ArgumentException ex) + { + throw new ArgumentException($"Invalid path: {obj}", ex); + } } } }