2013-04-19 2 views
0

У меня была большая, казалось бы, неразрешимая проблема при кодировании угадывающей игры. Я получаю сообщение об ошибке исключения на линии: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, это самый простой уровень сложности, доступный в моем проекте с несколькими сложностями.

+0

Добро пожаловать в переполнение стека! Почти все случаи «NullReferenceException» одинаковы. См. «[Что такое исключение NullReferenceException в .NET?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)» для некоторых советов. –

ответ

0

Это потому, что вы либо не инициализировали MessageLabel или Message, либо Both.

Проверьте свой код, чтобы убедиться, что они были правильно инициализированы перед вызовом или доступом к их методам/свойствам.

Смежные вопросы