1

プロジェクトで問題が発生しています。App.xaml.cs デバッガーの OnStartup コードで例外が発生した場合、最初にブレークポイントが設定され、続行をクリックするとアプリを終了するのではなく、同じ場所で実行されてブレークポイントが設定されます。

ただし、App.xaml.cs に DispatcherUnhandledException イベント ハンドラーを追加し、空のイベント ハンドラーを追加すると、期待どおりに動作します。

<Application x:Class="WpfApplication8.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             DispatcherUnhandledException="App_DispatcherUnhandledException"
             StartupUri="MainWindow.xaml">
    <Application.Resources />
</Application>

App.Xaml.cs

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);
        var b = 4 - 4;
        var a = 100/b;
    }

    void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs args)
    {

    } 
}

問題を再現するには、コード ビハインドからイベント ハンドラーを削除します。

ソリューションの詳細: WPF、.Net 4 (現在のすべての更新を含む)、Visual Studio 20013 update 3。

なぜ私がこの振る舞いをするのか、誰か説明できますか?

4

0 に答える 0