Vấn đề
Bạn cần phải xử lý bất kỳ trường hợp ngoại lệ nào đó, cho phép bạn trình bày với người dùng một hộp thoại thông tin và debug dữ liệu.
Giải pháp
Các cửa sổ có ba điều khiển System.Windows.Controls.Button, trong đó chứng minh
hành vi mặc định WPF xử lý ngoại lệ và nó có thể được ghi đè.
Đây là giao diện:
Code wpf:
Bạn cần phải xử lý bất kỳ trường hợp ngoại lệ nào đó, cho phép bạn trình bày với người dùng một hộp thoại thông tin và debug dữ liệu.
Giải pháp
Các cửa sổ có ba điều khiển System.Windows.Controls.Button, trong đó chứng minh
hành vi mặc định WPF xử lý ngoại lệ và nó có thể được ghi đè.
Đây là giao diện:
Code wpf:
<StackPanel> <Button x:Name="btnThrowHandledException" Click="btnThrowHandledException_Click" Content="Throw Handled Exception" Margin="10,10,10,5" /> <Button x:Name="btnThrowUnhandledException" Click="btnThrowUnhandledException_Click" Content="Throw Unhandled Exception" Margin="10,5,10,5" /> <Button x:Name="btnThrowUnhandledExceptionFromThread" Click="btnThrowUnhandledExceptionFromThread_Click" Content="Throw Unhandled Exception From a New Thread" Margin="10,5,10,10" /> </StackPanel>
Code C#:
private void btnThrowHandledException_Click(object sender,
RoutedEventArgs e)
{
try
{
throw new NotImplementedException();
}
catch (NotImplementedException ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnThrowUnhandledException_Click(object sender,
RoutedEventArgs e)
{
throw new NotImplementedException();
}
private void btnThrowUnhandledExceptionFromThread_Click(object sender,
RoutedEventArgs e)
{
BackgroundWorker backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += delegate
{
throw new NotImplementedException();
};
backgroundWorker.RunWorkerAsync();
}
RoutedEventArgs e)
{
try
{
throw new NotImplementedException();
}
catch (NotImplementedException ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnThrowUnhandledException_Click(object sender,
RoutedEventArgs e)
{
throw new NotImplementedException();
}
private void btnThrowUnhandledExceptionFromThread_Click(object sender,
RoutedEventArgs e)
{
BackgroundWorker backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += delegate
{
throw new NotImplementedException();
};
backgroundWorker.RunWorkerAsync();
}
0 comments:
Post a Comment