Try / Catch help, ожидается конец оператора - PullRequest
4 голосов
/ 18 сентября 2011

Совершенно новичок в мире VB, и я работаю над домашней работой. Я пытаюсь настроить вложенный блок try / catch, чтобы убедиться, что значения из 3 текстовых полей являются действительными значениями для расчета. Однако я застрял, так как не могу понять, почему я получаю ошибку «Ожидается конец утверждения». Все 3 линии блока try имеют волнистую линию под ними. Вот мой код:

Private Sub Calculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calculate.Click

    Dim FutureValueDecimal, InvestmentAmountDecimal, InterestRateDecimal As Decimal
    Dim YearsInteger As Integer

    Try InvestmentAmountDecimal = Decimal.Parse(InvestmentAmountTextBox.text)

          Try InterestRateDecimal = Decimal.Parse(InterestRateTextBox.text)

            Try YearsInteger = Integer.Parse(yearsTextBox.text)
            Catch InvalidYears As FormatException
                MsgBox("Please enter a valid number of years", MsgBoxStyle.Exclamation, "Error")
                YearsTextBox.SelectAll()
            End Try

        Catch InvalidInterest As FormatException
            MsgBox("Please enter a valid interest rate.", MsgBoxStyle.Exclamation, "Error")
            InterestRateTextBox.SelectAll()
        End Try
    Catch InvalidAmount As FormatException
        MsgBox("Please enter a valid investment amount.", MsgBoxStyle.Exclamation, "Error")
    End Try

    FutureValueDecimal = InvestmentAmountDecimal * (1D + InterestRateDecimal) ^ YearsInteger

            FutureValueTextBox.Text = FutureValueDecimal.ToString("C")



End Sub

1 Ответ

5 голосов
/ 18 сентября 2011

Как кто-то сказал, у вас должен быть разрыв строки после каждой попытки

Так измените эту строку

   Try InterestRateDecimal = Decimal.Parse(InterestRateTextBox.text)

до

 Try
 InterestRateDecimal = Decimal.Parse(InterestRateTextBox.text)

как и для любой другой попытки.

...