PageRenderTime 19ms CodeModel.GetById 15ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 1ms

/Visual Studio 2008/VBSL3OOB/VBSL3OOB/App.xaml.vb

#
Visual Basic | 44 lines | 25 code | 12 blank | 7 comment | 0 complexity | ec08ef9908d5a1dce3c3d14c8419bee8 MD5 | raw file
 1 Partial Public Class App
 2    Inherits Application
 3
 4    public Sub New()
 5        InitializeComponent()
 6    End Sub
 7    
 8    Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
 9        Me.RootVisual = New MainPage()
10    End Sub
11    
12    Private Sub Application_Exit(ByVal o As Object, ByVal e As EventArgs) Handles Me.Exit
13
14    End Sub
15    
16    Private Sub Application_UnhandledException(ByVal sender As object, ByVal e As ApplicationUnhandledExceptionEventArgs) Handles Me.UnhandledException
17
18        ' If the app is running outside of the debugger then report the exception using
19        ' the browser's exception mechanism. On IE this will display it a yellow alert 
20        ' icon in the status bar and Firefox will display a script error.
21        If Not System.Diagnostics.Debugger.IsAttached Then
22
23            ' NOTE: This will allow the application to continue running after an exception has been thrown
24            ' but not handled. 
25            ' For production applications this error handling should be replaced with something that will 
26            ' report the error to the website and stop the application.
27            e.Handled = True
28            Deployment.Current.Dispatcher.BeginInvoke(New Action(Of ApplicationUnhandledExceptionEventArgs)(AddressOf ReportErrorToDOM), e)
29        End If
30    End Sub
31
32   Private Sub ReportErrorToDOM(ByVal e As ApplicationUnhandledExceptionEventArgs)
33
34        Try
35            Dim errorMsg As String = e.ExceptionObject.Message + e.ExceptionObject.StackTrace
36            errorMsg = errorMsg.Replace(""""c, "'"c).Replace(ChrW(13) & ChrW(10), "\n")
37
38            System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(""Unhandled Error in Silverlight Application " + errorMsg + """);")
39        Catch
40        
41        End Try
42    End Sub
43    
44End Class