mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-24 14:34:06 +02:00
Create a Reporter class with improved HandleException code
This commit is contained in:
parent
27971e09cd
commit
3176b6cb8f
11
Program.cs
11
Program.cs
@ -179,15 +179,8 @@ private static string GetDataStoragePath(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HandleException(string message, Exception e){
|
public static void HandleException(string message, Exception e){ // TODO replace all uses
|
||||||
if (Log(e.ToString())){
|
Reporter.HandleException(BrandName+" Has Failed :(", message, false, new Exception());
|
||||||
if (MessageBox.Show(message+"\r\nDo you want to open the log file to report the issue?", BrandName+" Has Failed :(", MessageBoxButtons.YesNo, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2) == DialogResult.Yes){
|
|
||||||
Process.Start(LogFilePath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
MessageBox.Show(message+"\r\nFailed writing the error into the log file.\r\nOriginal exception: "+e, BrandName+" Has Failed :(", MessageBoxButtons.OK);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool Log(string data){
|
public static bool Log(string data){
|
||||||
|
43
Reporter.cs
Normal file
43
Reporter.cs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using TweetDck.Core.Other;
|
||||||
|
|
||||||
|
namespace TweetDck{
|
||||||
|
static class Reporter{
|
||||||
|
public static void HandleException(string caption, string message, bool canIgnore, Exception e){
|
||||||
|
Program.Log(e.ToString());
|
||||||
|
|
||||||
|
FormMessage form = new FormMessage(caption, message+"\r\nError: "+e.Message, canIgnore ? MessageBoxIcon.Warning : MessageBoxIcon.Error);
|
||||||
|
|
||||||
|
form.AddButton("Exit");
|
||||||
|
Button btnIgnore = form.AddButton("Ignore");
|
||||||
|
|
||||||
|
Button btnOpenLog = new Button{
|
||||||
|
Anchor = AnchorStyles.Bottom | AnchorStyles.Left,
|
||||||
|
Location = new Point(12, 12),
|
||||||
|
Margin = new Padding(0, 0, 48, 0),
|
||||||
|
Size = new Size(88, 26),
|
||||||
|
Text = "Open Log File",
|
||||||
|
UseVisualStyleBackColor = true
|
||||||
|
};
|
||||||
|
|
||||||
|
btnOpenLog.Click += (sender, args) => Process.Start(Program.LogFilePath);
|
||||||
|
|
||||||
|
form.AddActionControl(btnOpenLog);
|
||||||
|
|
||||||
|
if (!canIgnore){
|
||||||
|
btnIgnore.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (form.ShowDialog() == DialogResult.OK){
|
||||||
|
if (form.ClickedButton == btnIgnore){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Environment.Exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -213,6 +213,7 @@
|
|||||||
<Compile Include="Plugins\Events\PluginLoadEventArgs.cs" />
|
<Compile Include="Plugins\Events\PluginLoadEventArgs.cs" />
|
||||||
<Compile Include="Plugins\PluginManager.cs" />
|
<Compile Include="Plugins\PluginManager.cs" />
|
||||||
<Compile Include="Plugins\PluginScriptGenerator.cs" />
|
<Compile Include="Plugins\PluginScriptGenerator.cs" />
|
||||||
|
<Compile Include="Reporter.cs" />
|
||||||
<Compile Include="Updates\FormUpdateDownload.cs">
|
<Compile Include="Updates\FormUpdateDownload.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
Loading…
Reference in New Issue
Block a user