11using System . Diagnostics ;
2+ using System . Text ;
3+ using Microsoft . UI . Xaml . Markup ;
24using UniGetUI . Core . Data ;
35using 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