aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs19
1 files changed, 16 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 2068ac0da..72cf42c14 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -32,7 +32,7 @@ namespace MediaBrowser.Server.Implementations.Library
public class LibraryManager : ILibraryManager
{
private IEnumerable<ILibraryPrescanTask> PrescanTasks { get; set; }
-
+
/// <summary>
/// Gets the intro providers.
/// </summary>
@@ -306,7 +306,20 @@ namespace MediaBrowser.Server.Implementations.Library
/// <returns>BaseItem.</returns>
public BaseItem ResolveItem(ItemResolveArgs args)
{
- var item = EntityResolvers.Select(r => r.ResolvePath(args)).FirstOrDefault(i => i != null);
+ var item = EntityResolvers.Select(r =>
+ {
+ try
+ {
+ return r.ResolvePath(args);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error in {0} resolving {1}", ex, r.GetType().Name, args.Path);
+
+ return null;
+ }
+
+ }).FirstOrDefault(i => i != null);
if (item != null)
{
@@ -1028,7 +1041,7 @@ namespace MediaBrowser.Server.Implementations.Library
await SaveItem(item, cancellationToken).ConfigureAwait(false);
UpdateItemInLibraryCache(item);
-
+
if (ItemAdded != null)
{
try