Plugins: Disable plugin automatically if it throws an exception
This commit is contained in:
@@ -234,7 +234,7 @@ namespace Il2CppInspector.CLI
|
||||
// Set plugin handlers
|
||||
PluginManager.ErrorHandler += (s, e) => {
|
||||
Console.Error.WriteLine($"The plugin {e.Error.Plugin.Name} encountered an error while executing {e.Error.Operation}: {e.Error.Exception.Message}."
|
||||
+ " The application will continue but may not behave as expected.");
|
||||
+ " Plugin has been disabled.");
|
||||
};
|
||||
|
||||
PluginManager.StatusHandler += (s, e) => {
|
||||
|
||||
@@ -262,6 +262,10 @@ namespace Il2CppInspector
|
||||
break;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
// Disable failing plugin
|
||||
Plugins[plugin.Id].Enabled = false;
|
||||
|
||||
// Forward error to error handler
|
||||
eventInfo.Error = new PluginErrorEventArgs { Plugin = plugin, Exception = ex, Operation = typeof(I).Name };
|
||||
ErrorHandler?.Invoke(AsInstance, eventInfo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user