diff --git a/src/DownKyi.Core/Storage/Database/DbHelper.cs b/src/DownKyi.Core/Storage/Database/DbHelper.cs index 56b4c57..a2e753f 100644 --- a/src/DownKyi.Core/Storage/Database/DbHelper.cs +++ b/src/DownKyi.Core/Storage/Database/DbHelper.cs @@ -72,6 +72,8 @@ namespace DownKyi.Core.Storage.Database /// public void Open() { + if (conn == null) { return; } + if (!IsOpen()) { conn.Open(); @@ -83,6 +85,8 @@ namespace DownKyi.Core.Storage.Database /// public void Close() { + if (conn == null) { return; } + if (IsOpen()) { conn.Close(); @@ -97,6 +101,8 @@ namespace DownKyi.Core.Storage.Database /// public void ExecuteNonQuery(string sql, Action action = null) { + if (conn == null) { return; } + try { lock (conn) @@ -129,6 +135,8 @@ namespace DownKyi.Core.Storage.Database /// public void ExecuteQuery(string sql, Action action) { + if (conn == null) { return; } + try { lock (conn) diff --git a/src/DownKyi.Core/Storage/StorageCover.cs b/src/DownKyi.Core/Storage/StorageCover.cs index eb0a115..13aa340 100644 --- a/src/DownKyi.Core/Storage/StorageCover.cs +++ b/src/DownKyi.Core/Storage/StorageCover.cs @@ -44,10 +44,30 @@ namespace DownKyi.Core.Storage { if (cover == null) { return null; } - Bitmap bitmap = new Bitmap(cover); - Image thumbnail = bitmap.GetThumbnailImage(width, height, null, IntPtr.Zero); + try + { + Bitmap bitmap = new Bitmap(cover); + Image thumbnail = bitmap.GetThumbnailImage(width, height, null, IntPtr.Zero); + + return StorageUtils.BitmapToBitmapImage(new Bitmap(thumbnail)); + } + catch (ArgumentException e) + { + Utils.Debugging.Console.PrintLine(cover); + Utils.Debugging.Console.PrintLine("GetCoverThumbnail()发生异常: {0}", e); + + LogManager.Error("StorageCover.GetCoverThumbnail()", cover); + LogManager.Error("StorageCover.GetCoverThumbnail()", e); - return StorageUtils.BitmapToBitmapImage(new Bitmap(thumbnail)); + return null; + } + catch (Exception e) + { + Utils.Debugging.Console.PrintLine("GetCoverThumbnail()发生异常: {0}", e); + LogManager.Error("StorageCover.GetCoverThumbnail()", e); + + return null; + } } /// diff --git a/src/DownKyi.Core/Storage/StorageHeader.cs b/src/DownKyi.Core/Storage/StorageHeader.cs index a0d3077..5a89e99 100644 --- a/src/DownKyi.Core/Storage/StorageHeader.cs +++ b/src/DownKyi.Core/Storage/StorageHeader.cs @@ -44,10 +44,30 @@ namespace DownKyi.Core.Storage { if (header == null) { return null; } - var bitmap = new Bitmap(header); - var thumbnail = bitmap.GetThumbnailImage(width, height, null, IntPtr.Zero); + try + { + Bitmap bitmap = new Bitmap(header); + Image thumbnail = bitmap.GetThumbnailImage(width, height, null, IntPtr.Zero); + + return StorageUtils.BitmapToBitmapImage(new Bitmap(thumbnail)); + } + catch (ArgumentException e) + { + Utils.Debugging.Console.PrintLine(header); + Utils.Debugging.Console.PrintLine("GetHeaderThumbnail()发生异常: {0}", e); + + LogManager.Error("StorageHeader.GetHeaderThumbnail()", header); + LogManager.Error("StorageHeader.GetHeaderThumbnail()", e); - return StorageUtils.BitmapToBitmapImage(new Bitmap(thumbnail)); + return null; + } + catch (Exception e) + { + Utils.Debugging.Console.PrintLine("GetHeaderThumbnail()发生异常: {0}", e); + LogManager.Error("StorageHeader.GetHeaderThumbnail()", e); + + return null; + } } /// @@ -58,7 +78,7 @@ namespace DownKyi.Core.Storage public string GetHeader(long mid, string name, string url) { HeaderDb headerDb = new HeaderDb(); - var header = headerDb.QueryByMid(mid); + Header header = headerDb.QueryByMid(mid); if (header != null) {