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)
{