Esempio n. 1
0
 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;
                }
            };
        }
Esempio n. 3
0
 private void Retry()
 {
     ExceptionStorage.Remove(desc);
     Task.Factory.StartNew(() =>
     {
         try { desc.RetryAction(); }
         catch (Exception e)
         {
             ExceptionStorage.Register(e, ExceptionCategory.InternalError, "再試行中に問題が発生しました。");
         }
     });
 }
Esempio n. 4
0
 private void Remove()
 {
     ExceptionStorage.Remove(desc);
 }