Initial Commit
This commit is contained in:
57
UseCases/Program.cs
Normal file
57
UseCases/Program.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace UseCases
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
[DllImport("kernel32")]
|
||||
static extern bool AllocConsole();
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
var frm = new FrmMain();
|
||||
try
|
||||
{
|
||||
Application.Run(frm);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if(MessageBox.Show(
|
||||
@"Fatal error occured and the application cannot continue
|
||||
A memmory dump will be generated to minimize lost data
|
||||
Nerds may check console for the exception, press yes to show console"
|
||||
, @"Error occured, show console?", MessageBoxButtons.YesNo) ==
|
||||
DialogResult.Yes) AllocConsole();
|
||||
|
||||
Console.Error.WriteLine(ex.ToString());
|
||||
Console.WriteLine(ex.ToString());
|
||||
var tosave = JsonConvert.SerializeObject(frm.Diagram, Utils.SerializerSettings);
|
||||
//dump know data before exiting, may contain errors
|
||||
// var saveObj = new JObject
|
||||
// {
|
||||
// {"version", 2},
|
||||
// {"actors", JToken.FromObject(frm.actors)},
|
||||
// {"useCases", JToken.FromObject(frm.useCases)},
|
||||
// {"size", JToken.FromObject(frm.Size)},
|
||||
// {"maximized",JToken.FromObject(frm.WindowState==FormWindowState.Maximized)}
|
||||
// };
|
||||
//dump to file
|
||||
File.WriteAllText(Application.StartupPath+"\\DUMP-"+DateTime.Now.ToString().Replace(':','.')+".ucd",tosave);
|
||||
Console.ReadLine();
|
||||
throw;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user