Add ErrorHandler Class

This commit is contained in:
Jonathan Jenne 2019-02-22 12:27:07 +01:00
parent 19bc39c0ce
commit e102f818e2
5 changed files with 69 additions and 22 deletions

View File

@ -0,0 +1,29 @@
Imports DigitalData.Modules.Logging
Public Class ClassErrorHandler
Private _Logger As Logger
Public Sub New(Logger As Logger)
_Logger = Logger
End Sub
Private Function GetMessage(Exception As Exception)
Dim oTargetSite = Exception.TargetSite
Dim oMethodName = oTargetSite.ReflectedType.Name
Dim oFormName = oTargetSite.ReflectedType.ReflectedType.Name
Dim oMessage As String = String.Empty
oMessage &= $"Form: {oFormName}{vbNewLine}"
oMessage &= $"Method: {oMethodName}{vbNewLine}"
oMessage &= $"{Exception.Message}{vbNewLine}{Exception.StackTrace}{vbNewLine}{vbNewLine}"
oMessage &= $"Please report this error to error@digitaldata.works"
Return oMessage
End Function
Public Sub ShowErrorMessage(Exception As Exception)
_Logger.Error(Exception)
MsgBox(GetMessage(Exception), MsgBoxStyle.Critical, "Unexpected Error")
End Sub
End Class

View File

@ -120,6 +120,7 @@
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassDragDrop.vb" />
<Compile Include="ClassErrorHandler.vb" />
<Compile Include="ClassLayout.vb" />
<Compile Include="ClassService.vb" />
<Compile Include="ClassTimer.vb" />

View File

@ -34,8 +34,9 @@ Partial Class frmUserManager
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.UCUserToGroup = New DigitalData.GUIs.ClientSuite.UserControlAssignment()
Me.OfficeNavigationBar1 = New DevExpress.XtraBars.Navigation.OfficeNavigationBar()
Me.NavigationBarItem1 = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavigationBarItem2 = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarUser2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarGroup2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.OfficeNavigationBar1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@ -43,9 +44,9 @@ Partial Class frmUserManager
'RibbonControl
'
Me.RibbonControl.ExpandCollapseItem.Id = 0
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonUserEdit, Me.BarButtonGroupEdit, Me.BarButtonAssign, Me.BarButtonItem1, Me.BarButtonRefresh})
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonUserEdit, Me.BarButtonGroupEdit, Me.BarButtonAssign, Me.BarButtonItem1, Me.BarButtonRefresh, Me.BarStaticItem1})
Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl.MaxItemId = 9
Me.RibbonControl.MaxItemId = 10
Me.RibbonControl.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryUserManager})
@ -126,6 +127,8 @@ Partial Class frmUserManager
'
'RibbonStatusBar
'
Me.RibbonStatusBar.HideWhenMerging = DevExpress.Utils.DefaultBoolean.[True]
Me.RibbonStatusBar.ItemLinks.Add(Me.BarStaticItem1)
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 519)
Me.RibbonStatusBar.Name = "RibbonStatusBar"
Me.RibbonStatusBar.Ribbon = Me.RibbonControl
@ -133,9 +136,10 @@ Partial Class frmUserManager
'
'UCUserToGroup
'
Me.UCUserToGroup.Location = New System.Drawing.Point(54, 152)
Me.UCUserToGroup.Dock = System.Windows.Forms.DockStyle.Fill
Me.UCUserToGroup.Location = New System.Drawing.Point(0, 146)
Me.UCUserToGroup.Name = "UCUserToGroup"
Me.UCUserToGroup.Size = New System.Drawing.Size(719, 300)
Me.UCUserToGroup.Size = New System.Drawing.Size(1070, 328)
Me.UCUserToGroup.TabIndex = 0
Me.UCUserToGroup.TextAssignedToParent = "Zugeordnete Benutzer zu Gruppe:"
Me.UCUserToGroup.TextNotAssignedToParent = "Nicht zugeordnete Benutzer:"
@ -144,23 +148,30 @@ Partial Class frmUserManager
'OfficeNavigationBar1
'
Me.OfficeNavigationBar1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.OfficeNavigationBar1.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavigationBarItem1, Me.NavigationBarItem2})
Me.OfficeNavigationBar1.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavbarUser2Group, Me.NavbarGroup2Group})
Me.OfficeNavigationBar1.Location = New System.Drawing.Point(0, 474)
Me.OfficeNavigationBar1.Name = "OfficeNavigationBar1"
Me.OfficeNavigationBar1.SelectedItem = Me.NavbarUser2Group
Me.OfficeNavigationBar1.Size = New System.Drawing.Size(1070, 45)
Me.OfficeNavigationBar1.TabIndex = 2
Me.OfficeNavigationBar1.Text = "OfficeNavigationBar1"
'
'NavigationBarItem1
'NavbarUser2Group
'
Me.NavigationBarItem1.Name = "NavigationBarItem1"
Me.NavigationBarItem1.Text = "Userzuordnung"
Me.NavbarUser2Group.Name = "NavbarUser2Group"
Me.NavbarUser2Group.Text = "Userzuordnung"
'
'NavigationBarItem2
'NavbarGroup2Group
'
Me.NavigationBarItem2.Name = "NavigationBarItem2"
Me.NavigationBarItem2.ShowPeekFormOnItemHover = DevExpress.Utils.DefaultBoolean.[True]
Me.NavigationBarItem2.Text = "Gruppenzuordnung"
Me.NavbarGroup2Group.Name = "NavbarGroup2Group"
Me.NavbarGroup2Group.ShowPeekFormOnItemHover = DevExpress.Utils.DefaultBoolean.[True]
Me.NavbarGroup2Group.Text = "Gruppenzuordnung"
'
'BarStaticItem1
'
Me.BarStaticItem1.Caption = "test"
Me.BarStaticItem1.Id = 9
Me.BarStaticItem1.Name = "BarStaticItem1"
'
'frmUserManager
'
@ -196,6 +207,7 @@ Partial Class frmUserManager
Friend WithEvents BarButtonRefresh As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents OfficeNavigationBar1 As DevExpress.XtraBars.Navigation.OfficeNavigationBar
Friend WithEvents NavigationBarItem1 As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents NavigationBarItem2 As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents NavbarUser2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents NavbarGroup2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem
End Class

View File

@ -88,13 +88,12 @@ Public Class frmUserManager
Private Sub OfficeNavigationBar1_SelectedItemChanged(sender As Object, e As DevExpress.XtraBars.Navigation.NavigationBarItemEventArgs) Handles OfficeNavigationBar1.SelectedItemChanged
Select Case OfficeNavigationBar1.SelectedItem.Name
Case "NavigationBarItem1"
Case "NavbarUser2Group"
UCUserToGroup.Visible = True
UCUserToGroup.Dock = DockStyle.Fill
Case "NavigationBarItem2"
Case "NavbarGroup2Group"
UCUserToGroup.Visible = False
UCUserToGroup.Dock = DockStyle.None
End Select
End Sub
End Class

View File

@ -1,8 +1,15 @@
Public Class frmConfigService
Imports DigitalData.GUIs.ClientSuite.ClassUIUtils
Imports DigitalData.Modules.Logging
Public Class frmConfigService
Private _Logger As Logger
Private _Service As ClassService
Private _ErrorHandler As ClassErrorHandler
Private Sub frmServiceConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
_Logger = My.LogConfig.GetLogger()
_Service = New ClassService(My.LogConfig)
_ErrorHandler = New ClassErrorHandler(_Logger)
If My.SystemConfigManager.Config.ServiceConnection <> String.Empty Then
txtIPAddress.Text = My.SystemConfigManager.Config.ServiceIP
@ -39,9 +46,8 @@
End Select
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
_ErrorHandler.ShowErrorMessage(ex)
End Try
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click