Skip to content

Commit 766e406

Browse files
committed
Log more data of the exceptions on crash report
1 parent 19f53ec commit 766e406

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/UniGetUI/CrashHandler.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
using System.Diagnostics;
2+
using System.Text;
3+
using Microsoft.UI.Xaml.Markup;
24
using UniGetUI.Core.Data;
35
using UniGetUI.Core.Tools;
46

@@ -62,6 +64,25 @@ public static void ReportFatalException(Exception e)
6264
// ignored
6365
}
6466

67+
string GetExceptionData(Exception e)
68+
{
69+
try
70+
{
71+
StringBuilder b = new();
72+
foreach (var key in e.Data.Keys)
73+
{
74+
b.AppendLine($"{key}: {e.Data[key]}");
75+
}
76+
77+
string r = b.ToString();
78+
return r.Any()? r: "No extra data was provided";
79+
}
80+
catch (Exception ex)
81+
{
82+
return $"Failed to get exception Data with exception {ex.Message}";
83+
}
84+
}
85+
6586
string Error_String = $$"""
6687
Environment details:
6788
Windows version: {{Environment.OSVersion.VersionString}}
@@ -75,6 +96,9 @@ public static void ReportFatalException(Exception e)
7596
Crash HResult: 0x{{(uint)e.HResult:X}} ({{(uint)e.HResult}}, {{e.HResult}})
7697
Crash Message: {{e.Message}}
7798
99+
Crash Data:
100+
{{GetExceptionData(e).Replace("\n", "\n ")}}
101+
78102
Crash Trace:
79103
{{e.StackTrace?.Replace("\n", "\n ")}}
80104
""";
@@ -92,6 +116,9 @@ Inner exception details (depth level: {{i}})
92116
Crash HResult: 0x{{(uint)e.HResult:X}} ({{(uint)e.HResult}}, {{e.HResult}})
93117
Crash Message: {{e.Message}}
94118
119+
Crash Data:
120+
{{GetExceptionData(e).Replace("\n", "\n ")}}
121+
95122
Crash Traceback:
96123
{{e.StackTrace?.Replace("\n", "\n ")}}
97124
""";

0 commit comments

Comments
 (0)