private void ClearAllExceptions() { foreach (var e in ExceptionStorage.Exceptions.ToArray()) { ExceptionStorage.Remove(e); } }
public static void Init() { KeyAssignCore.KeyAssignUpdated += (sender, e) => { if (!changed) { var lastException = ExceptionStorage.Exceptions.LastOrDefault(); if (lastException != null && lastException.Message.Contains("キーアサインファイル")) { ExceptionStorage.Remove(lastException); } SetAssignDescription(null); if (!String.IsNullOrEmpty(Setting.Instance.KeyAssignProperty.KeyAssignFile) && Setting.Instance.KeyAssignProperty.KeyAssignFile != KeyAssignProperty.DefaultAssignFileName) { try { SetAssignDescription(LoadAssign( AssignParser.Parse(KeyAssignHelper.GetPath( Setting.Instance.KeyAssignProperty.KeyAssignFile )) )); } catch (Exception ex) { ExceptionStorage.Register(ex, ExceptionCategory.ConfigurationError, "キーアサインファイルを読み込めませんでした: " + Setting.Instance.KeyAssignProperty.KeyAssignFile); SetAssignDescription(null); } } if (GetAssignDescription() == null) { try { SetAssignDescription(LoadAssign( AssignParser.Parse(KeyAssignHelper.GetPath( KeyAssignProperty.DefaultAssignFileName )) )); } catch (Exception ex) { ExceptionStorage.Register(ex, ExceptionCategory.InternalError, "デフォルト キーアサインファイルが破損しています。Krileを再インストールしてください。"); } } changed = true; RaiseKeyAssignUpdated(); } else { changed = false; } }; }
private void Retry() { ExceptionStorage.Remove(desc); Task.Factory.StartNew(() => { try { desc.RetryAction(); } catch (Exception e) { ExceptionStorage.Register(e, ExceptionCategory.InternalError, "再試行中に問題が発生しました。"); } }); }
private void Remove() { ExceptionStorage.Remove(desc); }