summaryrefslogtreecommitdiff
path: root/csharp/src/Ice/PluginManagerI.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/src/Ice/PluginManagerI.cs')
-rw-r--r--csharp/src/Ice/PluginManagerI.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/csharp/src/Ice/PluginManagerI.cs b/csharp/src/Ice/PluginManagerI.cs
index 3069c1e1488..a663b0a9eb7 100644
--- a/csharp/src/Ice/PluginManagerI.cs
+++ b/csharp/src/Ice/PluginManagerI.cs
@@ -53,7 +53,20 @@ namespace Ice
{
foreach(PluginInfo p in _plugins)
{
- p.plugin.initialize();
+ try
+ {
+ p.plugin.initialize();
+ }
+ catch(PluginInitializationException ex)
+ {
+ throw ex;
+ }
+ catch(System.Exception ex)
+ {
+ PluginInitializationException e = new PluginInitializationException(ex);
+ e.reason = "plugin `" + p.name + "' initialization failed";
+ throw e;
+ }
initializedPlugins.Add(p.plugin);
}
}