Skip to content

Commit 9e6433f

Browse files
committed
Fix crash in UnhandledException handler
1 parent 7882e4a commit 9e6433f

File tree

4 files changed

+59
-3
lines changed

4 files changed

+59
-3
lines changed

IPConfig/App.xaml.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,16 +140,20 @@ private static ServiceProvider ConfigureServices()
140140

141141
private static async Task ShowUnhandledExceptionAsync(Exception exception, string source)
142142
{
143+
string logStatus = $"{Lang.Details}: ./error.log";
144+
143145
try
144146
{
145147
var err = new Error(exception, source);
146148

147-
await File.WriteAllTextAsync("error.log", err.ToString());
149+
await Current.Dispatcher.InvokeAsync(() => File.WriteAllTextAsync("error.log", err.ToString()));
148150
}
149151
catch
150-
{ }
152+
{
153+
logStatus = Lang.LoggingFailed;
154+
}
151155

152-
var sb = new StringBuilder($"{Lang.AppCrashed}\n\n[{source}]\n{exception.Message}");
156+
var sb = new StringBuilder($"{Lang.AppCrashed}\n\n[{source}]\n{exception.Message}\n\n{logStatus}");
153157

154158
var innerEx = exception.InnerException;
155159

IPConfig/Languages/Lang.Designer.cs

Lines changed: 38 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

IPConfig/Languages/Lang.en.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,9 @@
272272
<data name="DeleteIPConfig_" xml:space="preserve">
273273
<value>_Delete</value>
274274
</data>
275+
<data name="Details" xml:space="preserve">
276+
<value>Details</value>
277+
</data>
275278
<data name="DhcpLeaseLifetime" xml:space="preserve">
276279
<value>DHCP Lease Lifetime</value>
277280
</data>
@@ -450,6 +453,9 @@
450453
<data name="LoadLastUsedConfiguration_" xml:space="preserve">
451454
<value>_Load Last Used Configuration</value>
452455
</data>
456+
<data name="LoggingFailed" xml:space="preserve">
457+
<value>Logging Failed!</value>
458+
</data>
453459
<data name="MakeSelectedIPConfigCopy_" xml:space="preserve">
454460
<value>Make _Copy</value>
455461
</data>

IPConfig/Languages/Lang.resx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,10 @@
301301
<value>删除配置(_D)</value>
302302
<comment>IPConfigListView</comment>
303303
</data>
304+
<data name="Details" xml:space="preserve">
305+
<value>详细信息</value>
306+
<comment>App</comment>
307+
</data>
304308
<data name="DhcpLeaseLifetime" xml:space="preserve">
305309
<value>DHCP 剩余</value>
306310
<comment>NicConfigDetailView</comment>
@@ -537,6 +541,10 @@
537541
<value>加载上次使用的配置(_L)</value>
538542
<comment>NicInfoCardView</comment>
539543
</data>
544+
<data name="LoggingFailed" xml:space="preserve">
545+
<value>日志记录失败!</value>
546+
<comment>App</comment>
547+
</data>
540548
<data name="MakeSelectedIPConfigCopy_" xml:space="preserve">
541549
<value>生成副本(_C)</value>
542550
<comment>IPConfigListView</comment>

0 commit comments

Comments
 (0)