Пример #1
0
        public void Tweet(string title, string artist, string album)
        {
            string tweetBody = GenerateTweetBody(title, artist, album);

            try
            {
                _lorelei.PostTweet(tweetBody);
            }
            catch (UnauthorizedException)
            {
                var mbp = new MessageBoxPack("Twitterの認証に失敗しました\n設定から再度認証してください", "ツイート失敗", MessageBoxImage.Error);
                MessageBoxHelper.AddMessageBoxQueue(mbp);
            }
            catch (DuplicateTweetBodyException)
            {
                var mbp = new MessageBoxPack("同じ曲を連続してツイートできません", "ツイート失敗", MessageBoxImage.Error);
                MessageBoxHelper.AddMessageBoxQueue(mbp);
            }
            catch (TwitterServerNotWorkingWellException)
            {
                var mbp = new MessageBoxPack("Twitterサーバーからの応答がおかしいです", "ツイート失敗", MessageBoxImage.Error);
                MessageBoxHelper.AddMessageBoxQueue(mbp);
            }
            catch
            {
                var mbp = new MessageBoxPack("不明なエラーが発生しました", "ツイート失敗", MessageBoxImage.Error);
                MessageBoxHelper.AddMessageBoxQueue(mbp);
            }
        }
Пример #2
0
        //集約エラーハンドラ
        private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            var    messeage    = "未知のエラーが発生しました。アプリケーションを終了します。\n\n";
            string extMesseage = null;

            try
            {
                var ex = (Exception)e.ExceptionObject;

                messeage = "未知のエラーが発生しました。アプリケーションを終了します。\n\nエラー内容:\n";

                try
                {
                    var location = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
                    using (var sw = new StreamWriter(location + @"\log.txt"))
                    {
                        sw.WriteLine("Messeage:");
                        sw.WriteLine(ex.Message);
                        sw.WriteLine("");
                        sw.WriteLine("InnerException:");
                        sw.WriteLine(ex.InnerException);
                        sw.WriteLine("");
                        sw.WriteLine("Source:");
                        sw.WriteLine(ex.Source);
                        sw.WriteLine("");
                        sw.WriteLine("TargetSite:");
                        sw.WriteLine(ex.TargetSite);
                        sw.WriteLine("");
                        sw.WriteLine("");
                        sw.WriteLine("StackTrace:");
                        sw.WriteLine(ex.StackTrace);
                        sw.Close();
                    }

                    extMesseage = "\n\n\n実行フォルダに log.txt を生成しました。";
                }
                catch { }

                MessageBoxHelper.AddMessageBoxQueue(new MessageBoxPack(
                                                        messeage + ex.Message + extMesseage,
                                                        "エラー",
                                                        MessageBoxButton.OK,
                                                        MessageBoxImage.Error));
            }
            catch
            {
                MessageBoxHelper.AddMessageBoxQueue(new MessageBoxPack(
                                                        messeage + "不明なエラー",
                                                        "エラー",
                                                        MessageBoxButton.OK,
                                                        MessageBoxImage.Error));
            }
            finally
            {
                Environment.Exit(1);
            }
        }