diff --git a/Wox.Core/Exception/WoxCritialException.cs b/Wox.Core/Exception/WoxCritialException.cs
new file mode 100644
index 0000000000..76aea3dea6
--- /dev/null
+++ b/Wox.Core/Exception/WoxCritialException.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Wox.Core.Exception
+{
+ ///
+ /// Represent exceptions that wox can't handle and MUST close running Wox.
+ ///
+ public class WoxCritialException : WoxException
+ {
+ public WoxCritialException(string msg) : base(msg)
+ {
+ }
+ }
+}
diff --git a/Wox.Core/Exception/WoxException.cs b/Wox.Core/Exception/WoxException.cs
new file mode 100644
index 0000000000..a5df7a3d34
--- /dev/null
+++ b/Wox.Core/Exception/WoxException.cs
@@ -0,0 +1,14 @@
+namespace Wox.Core.Exception
+{
+ ///
+ /// Base Wox Exceptions
+ ///
+ public class WoxException : System.Exception
+ {
+ public WoxException(string msg)
+ : base(msg)
+ {
+
+ }
+ }
+}
diff --git a/Wox.Infrastructure/Exceptions/WoxHttpException.cs b/Wox.Core/Exception/WoxHttpException.cs
similarity index 51%
rename from Wox.Infrastructure/Exceptions/WoxHttpException.cs
rename to Wox.Core/Exception/WoxHttpException.cs
index 026d1d8ab9..55e3431a0e 100644
--- a/Wox.Infrastructure/Exceptions/WoxHttpException.cs
+++ b/Wox.Core/Exception/WoxHttpException.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Wox.Infrastructure.Exceptions
+namespace Wox.Core.Exception
{
public class WoxHttpException :WoxException
{
diff --git a/Wox.Infrastructure/Exceptions/WoxJsonRPCException.cs b/Wox.Core/Exception/WoxJsonRPCException.cs
similarity index 78%
rename from Wox.Infrastructure/Exceptions/WoxJsonRPCException.cs
rename to Wox.Core/Exception/WoxJsonRPCException.cs
index 0e984a3e6f..d3c0bfb0da 100644
--- a/Wox.Infrastructure/Exceptions/WoxJsonRPCException.cs
+++ b/Wox.Core/Exception/WoxJsonRPCException.cs
@@ -1,4 +1,4 @@
-namespace Wox.Infrastructure.Exceptions
+namespace Wox.Core.Exception
{
public class WoxJsonRPCException : WoxException
{
diff --git a/Wox.Core/Plugin/CSharpPluginLoader.cs b/Wox.Core/Plugin/CSharpPluginLoader.cs
index 9cfdc56734..5910a6bebf 100644
--- a/Wox.Core/Plugin/CSharpPluginLoader.cs
+++ b/Wox.Core/Plugin/CSharpPluginLoader.cs
@@ -44,7 +44,7 @@ namespace Wox.Core.Plugin
plugins.Add(pair);
}
}
- catch (Exception e)
+ catch (System.Exception e)
{
Log.Error(string.Format("Couldn't load plugin {0}: {1}", metadata.Name, e.Message));
#if (DEBUG)
diff --git a/Wox.Core/Plugin/JsonRPCPlugin.cs b/Wox.Core/Plugin/JsonRPCPlugin.cs
index 0809826300..fd0514af36 100644
--- a/Wox.Core/Plugin/JsonRPCPlugin.cs
+++ b/Wox.Core/Plugin/JsonRPCPlugin.cs
@@ -6,7 +6,6 @@ using System.Reflection;
using System.Threading;
using System.Windows.Forms;
using Newtonsoft.Json;
-using Wox.Infrastructure.Exceptions;
using Wox.Infrastructure.Logger;
using Wox.Plugin;
@@ -73,7 +72,7 @@ namespace Wox.Core.Plugin
}
return results;
}
- catch (Exception e)
+ catch (System.Exception e)
{
Log.Error(e.Message);
}
@@ -90,7 +89,7 @@ namespace Wox.Core.Plugin
{
methodInfo.Invoke(PluginManager.API, parameters);
}
- catch (Exception)
+ catch (System.Exception)
{
#if (DEBUG)
{
diff --git a/Wox.Core/Plugin/JsonRPCPluginLoader.cs b/Wox.Core/Plugin/JsonRPCPluginLoader.cs
index 234da6a25d..0bf35979c9 100644
--- a/Wox.Core/Plugin/JsonRPCPluginLoader.cs
+++ b/Wox.Core/Plugin/JsonRPCPluginLoader.cs
@@ -13,7 +13,7 @@ namespace Wox.Core.Plugin
return jsonRPCPluginMetadatas.Select(metadata => new PluginPair()
{
- Plugin = jsonRPCPlugin,
+ Plugin = new T(), //every JsonRPC plugin should has its own plugin instance
Metadata = metadata
}).ToList();
}
diff --git a/Wox.Core/Plugin/PluginConfig.cs b/Wox.Core/Plugin/PluginConfig.cs
index 5d6c8137d4..6d2cba1488 100644
--- a/Wox.Core/Plugin/PluginConfig.cs
+++ b/Wox.Core/Plugin/PluginConfig.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Linq;
using System.Reflection;
using Newtonsoft.Json;
-using Wox.Infrastructure.Exceptions;
+using Wox.Core.Exception;
using Wox.Infrastructure.Logger;
using Wox.Infrastructure.Storage.UserSettings;
using Wox.Plugin;
@@ -91,7 +91,7 @@ namespace Wox.Core.Plugin
metadata.PluginType = PluginType.User;
metadata.PluginDirectory = pluginDirectory;
}
- catch (Exception)
+ catch (System.Exception)
{
string error = string.Format("Parse plugin config {0} failed: json format is not valid", configPath);
Log.Warn(error);
diff --git a/Wox.Core/Plugin/PluginInstaller.cs b/Wox.Core/Plugin/PluginInstaller.cs
index 3388c8c621..25e7d3b3c1 100644
--- a/Wox.Core/Plugin/PluginInstaller.cs
+++ b/Wox.Core/Plugin/PluginInstaller.cs
@@ -114,12 +114,12 @@ namespace Wox.Core.Plugin
metadata.PluginType = PluginType.User;
metadata.PluginDirectory = pluginDirectory;
}
- catch (Exception)
+ catch (System.Exception)
{
string error = string.Format("Parse plugin config {0} failed: json format is not valid", configPath);
#if (DEBUG)
{
- throw new Exception(error);
+ throw new System.Exception(error);
}
#endif
return null;
@@ -132,7 +132,7 @@ namespace Wox.Core.Plugin
metadata.Language);
#if (DEBUG)
{
- throw new Exception(error);
+ throw new System.Exception(error);
}
#endif
return null;
@@ -143,7 +143,7 @@ namespace Wox.Core.Plugin
metadata.ExecuteFilePath);
#if (DEBUG)
{
- throw new Exception(error);
+ throw new System.Exception(error);
}
#endif
return null;
diff --git a/Wox.Core/Plugin/QueryDispatcher/UserPluginQueryDispatcher.cs b/Wox.Core/Plugin/QueryDispatcher/UserPluginQueryDispatcher.cs
index 6c709e5bdc..3b96d2c3a8 100644
--- a/Wox.Core/Plugin/QueryDispatcher/UserPluginQueryDispatcher.cs
+++ b/Wox.Core/Plugin/QueryDispatcher/UserPluginQueryDispatcher.cs
@@ -30,7 +30,7 @@ namespace Wox.Core.Plugin.QueryDispatcher
List results = userPlugin.Plugin.Query(query) ?? new List();
PluginManager.API.PushResults(query,userPlugin.Metadata,results);
}
- catch (Exception queryException)
+ catch (System.Exception queryException)
{
Log.Error(string.Format("Plugin {0} query failed: {1}", userPlugin.Metadata.Name,
queryException.Message));
diff --git a/Wox.Core/Wox.Core.csproj b/Wox.Core/Wox.Core.csproj
index 237c191560..1aacac6d10 100644
--- a/Wox.Core/Wox.Core.csproj
+++ b/Wox.Core/Wox.Core.csproj
@@ -49,6 +49,10 @@
+
+
+
+
diff --git a/Wox.Infrastructure/Exceptions/WoxException.cs b/Wox.Infrastructure/Exceptions/WoxException.cs
deleted file mode 100644
index 581f36edb7..0000000000
--- a/Wox.Infrastructure/Exceptions/WoxException.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-
-namespace Wox.Infrastructure.Exceptions
-{
- public class WoxException : Exception
- {
- public WoxException(string msg)
- : base(msg)
- {
-
- }
- }
-}
diff --git a/Wox.Infrastructure/Wox.Infrastructure.csproj b/Wox.Infrastructure/Wox.Infrastructure.csproj
index e3cfa6398a..7c84bf829c 100644
--- a/Wox.Infrastructure/Wox.Infrastructure.csproj
+++ b/Wox.Infrastructure/Wox.Infrastructure.csproj
@@ -56,9 +56,6 @@
-
-
-
diff --git a/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanelItem.cs b/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanelItem.cs
index 6d76e269a0..5781fa2910 100644
--- a/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanelItem.cs
+++ b/Wox.Plugin.SystemPlugins/ControlPanel/ControlPanelItem.cs
@@ -22,4 +22,4 @@ namespace Wox.Plugin.SystemPlugins.ControlPanel
GUID = newGUID;
}
}
-}
+}
\ No newline at end of file