私はいくつかのWindowsFormHostコントロールを必要とするWPFウィンドウを持っています。私は、このようなコントロールをモデル化すると例外が表面に泡立ちませんし、静かに処理されることに気付きました。つまり、SharpDevelopのデバッグオプション '処理された例外の一時停止'を使用してのみ表示されます。WindowsFormsHostコントロール - 例外処理
この現象を回避するにはどうすればよいですか?
これは、WindowのLoaded Event Handlerコードで例外をスローすることでこれをテストしました。 WindowsFormsHostコントロールの1つをコメントアウトすると、例外処理が正常に行われ、コードが破損しますが、以下のコードに示すように、例外がキャッチされたようにウィンドウが表示されます。
<?xml version="1.0" encoding="utf-8"?>
<Window
x:Class="TEST.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TEST"
Height="300"
Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition
Height="150" />
<RowDefinition
Height="150" />
</Grid.RowDefinitions>
<WindowsFormsHost Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
<WindowsFormsHost Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
</Grid>
</Window>
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Window1_Loaded);
}
void Window1_Loaded(object sender, RoutedEventArgs e)
{
throw new ApplicationException("TEST");
}
}
[VS2010は64ビットWinFormsアプリケーションで未処理の例外メッセージを表示しません] ://stackoverflow.com/questions/4933958/vs2010-does-not-show-unhandled-exception-message-in-a-64-bit-winforms-applicatio) –
@Hans Passant、 'Imは32bit windows xp、compilerを使用していますx86プロセッサ用に最適化されています。 – LiamV