From 662cbf08270f5ad4f563b21ae4c5daf4fc819c70 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Mon, 25 Dec 2023 15:06:16 +0800 Subject: [PATCH] Pull up error handling from action to browser. --- Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs | 7 ++----- Assets/Cryville/Crtr/Browsing/UI/PathedResourceBrowser.cs | 8 +++++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs b/Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs index a71be15..816fe2c 100644 --- a/Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs +++ b/Assets/Cryville/Crtr/Browsing/Actions/OpenConfigAction.cs @@ -1,6 +1,5 @@ using Cryville.Crtr.Browsing.UI; using Cryville.Crtr.Config; -using Cryville.Crtr.UI; using System; using System.Collections.Generic; using Object = UnityEngine.Object; @@ -35,11 +34,9 @@ namespace Cryville.Crtr.Browsing.Actions { try { browser.Load(ruleset, overrides); } - catch (Exception ex) { - Dialog.Show(null, ex.Message); - Game.MainLogger.Log(4, "Config", "An error occurred while loading the config: {0}", ex); + catch (Exception) { Object.Destroy(browser.gameObject); - return; + throw; } _rulesetTabs[ruleset] = master.AddAndOpenTab(string.Format("Config: {0}", ruleset), browser); browser.InitAction(); diff --git a/Assets/Cryville/Crtr/Browsing/UI/PathedResourceBrowser.cs b/Assets/Cryville/Crtr/Browsing/UI/PathedResourceBrowser.cs index 33e2e6f..a124eff 100644 --- a/Assets/Cryville/Crtr/Browsing/UI/PathedResourceBrowser.cs +++ b/Assets/Cryville/Crtr/Browsing/UI/PathedResourceBrowser.cs @@ -178,7 +178,13 @@ namespace Cryville.Crtr.Browsing.UI { return; } foreach (var i in _selectedItems) { - action.Invoke(_manager.GetItemUri(i), _manager[i]); + try { + action.Invoke(_manager.GetItemUri(i), _manager[i]); + } + catch (Exception ex) { + Dialog.Show(null, ex.Message); + Game.MainLogger.Log(4, "Config", "An error occurred while running the action: {0}", ex); + } } } }