.net 访问阵列/列表后不运行代码
我真的被这件事难住了 当运行我的代码时,程序只是。。。在我尝试对表单加载事件中的数组或列表执行任何操作后,不会运行其余代码,以下是我的代码:.net 访问阵列/列表后不运行代码,.net,arrays,vb.net,shared,public,.net,Arrays,Vb.net,Shared,Public,我真的被这件事难住了 当运行我的代码时,程序只是。。。在我尝试对表单加载事件中的数组或列表执行任何操作后,不会运行其余代码,以下是我的代码: Public Shared alerts As String() Private Sub Popup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Location = New Point(Screen.Primary
Public Shared alerts As String()
Private Sub Popup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - Me.Width, Screen.PrimaryScreen.WorkingArea.Height - Me.Height)
' Check for alerts
If My.Settings.hasadmin = False Then
MsgBox("test1")
pb_alert.Visible = True
createAlert("Some functions require admin privileges.")
End If
End Sub
Private Sub createAlert(ByVal msg As String)
MsgBox("test2")
updateAlerts()
MsgBox("test5")
End Sub
Private Sub updateAlerts()
MsgBox("test3")
Dim length = alerts.Length
MsgBox("test4")
End Sub
我不知道为什么会这样
接下来的消息框是:
“测试1”
“测试2”
“测试3”
然后什么都没有,因为我访问了警报阵列
我不知道,请帮帮我
此外,我没有看到任何错误或编译问题或任何事情
程序在此之后继续运行,但它不会显示其他消息框,我当然想用实际代码替换这些消息框。问题是由于
警报
是无
而引发异常
解决此问题的简单方法是使用-1大小初始化字符串,使其成为空数组
Public Shared alerts As String(-1)
正确的方法是在尝试使用之前不做任何测试
If alerts IsNot Nothing Then
' Do something with it
您必须做的另一件事是向load事件添加异常处理,或者添加一个或多个异常处理
Load event:
Try
Catch theException As Exception
Call MsgBox(theException.Message)
End Try