diff options
Diffstat (limited to 'csharp/src/Ice/PluginManagerI.cs')
-rw-r--r-- | csharp/src/Ice/PluginManagerI.cs | 15 |
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); } } |