У меня была большая, казалось бы, неразрешимая проблема при кодировании угадывающей игры. Я получаю сообщение об ошибке исключения на линии:VB 2010 Express - исключение для Guessing Game: «NullReferenceException был необработанным»
MessageLabel.Text = Message.ToString
Вот код:
Option Strict On
Public Class ABabyGuess
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim randomGenerator As New Random
Dim secretNumber As Integer
Const NUMBER_MIN As Integer = 1
Const NUMBER_MAX As Integer = 200
Dim guessNumber As Integer
Dim Won As Boolean = False
Dim Message As String = ""
Dim MAX_TRIES As Integer = 500
Dim CurrentTrys As Integer
secretNumber = randomGenerator.Next(NUMBER_MIN, NUMBER_MAX)
Try
Do While CurrentTrys <= MAX_TRIES And Not Won
CurrentTrys = CurrentTrys + 1
ABaby.ATryTableLabel.Text = ""
guessNumber = Integer.Parse(GuessTextBox.Text)
If guessNumber > secretNumber Then
Message = Message & guessNumber.ToString & "Too Big" & Environment.NewLine
ElseIf guessNumber < secretNumber Then
Message = Message & guessNumber.ToString & "Too Small" & Environment.NewLine
ElseIf guessNumber = secretNumber Then
Won = True
End If
Loop
Catch ex As Exception
If guessNumber > 100 Then
MessageBox.Show("Please inut a number below 100.")
ElseIf guessNumber = 0 Then
MessageBox.Show("Please input a number above 0")
End If
End Try
If Message.ToString IsNot Nothing Then
ABaby.ATryLabel.Text = Message.ToString
End If
If Won = True Then
MessageBox.Show("congratulations! You Won!", "congratulations", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
ElseIf Won = False And CurrentTrys = 7 Then
MessageBox.Show("...You actually lost. I give up...", "...", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
End Class
Ошибка NullReferenceException was Unhandled
с деталями говоря: {"Object variable or With block variable not set."}
я честно не мог найти где-нибудь в Интернете, чтобы решить эту проблему проблема. И если вам интересно, почему я назвал форму ABaby, это самый простой уровень сложности, доступный в моем проекте с несколькими сложностями.
Добро пожаловать в переполнение стека! Почти все случаи «NullReferenceException» одинаковы. См. «[Что такое исключение NullReferenceException в .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)» для некоторых советов. –