====== Exception handler for a WPF application ====== The following piece of code can be used to display an exception text in a WPF GUI application. Please don't forget to log the exception also to a logfile. You can take this code also as sample how to build a WPF window from pure code. class ErrorDisplay inherit Window constructor( oEx as Exception ) self:Initialize( oEx ) return method Initialize( oEx as Exception ) as void local oGrid as Grid local oTextBlock as TextBlock local oButton as Button local oMargin as Thickness oMargin := Thickness{ 10 } // Grid oGrid := Grid{} oGrid:ColumnDefinitions:Add( ColumnDefinition{} ) oGrid:RowDefinitions:Add( RowDefinition{}{ Height := GridLength{ 200 } } ) oGrid:RowDefinitions:Add( RowDefinition{} ) oGrid:RowDefinitions:Add( RowDefinition{}{ Height := GridLength{ 100 } } ) // display the error oTextBlock := TextBlock{} oTextBlock:Text := oEx:Message oTextBlock:Margin := oMargin Grid.SetColumn( oTextBlock, 0 ) Grid.SetRow( oTextBlock, 0 ) oGrid:Children:Add( oTextBlock ) // display the callstack oTextBlock := TextBlock{} oTextBlock:Text := oEx:StackTrace oTextBlock:Margin := oMargin Grid.SetColumn( oTextBlock, 0 ) Grid.SetRow( oTextBlock, 1 ) oGrid:Children:Add( oTextBlock ) // Close button oButton := Button{} oButton:Content := "OK" oButton:Click += OkButtonClick oButton:Margin := oMargin Grid.SetColumn( oButton, 0 ) Grid.SetRow( oButton, 2 ) oGrid:Children:Add( oButton ) self:Content := oGrid return method OkButtonClick( oSender as object, e as RoutedEventArgs ) as void self:Close() return end class