2011-09-18 11 views
4

VBの世界ではまったく新しく、私は宿題に取り組んでいます。私は3つのテキストボックスから来る値が計算のための有効な値であることを確かめるためにネストされたtry/catchブロックを設定しようとしています。私はなぜ、私は "End of statement expected"エラーが出ているのか分からないので、私は立ち往生しています。 tryブロックの3行すべてに、それらの下に波線があります。ここに私のコードは次のとおりです。試してください/ヘルプをキャッチして、文の末尾が期待されます

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

「試行」と次の文の間に改行を入れてください(たとえば、「InvestmentAmountDecimal = Decimal.Parse(InvestmentAmountTextBox.text)」)。 – someone

+0

私はそれを試しても動作しません。奇妙なことは、2つの内部try/catchをコメントアウトして、外部の「InvestmentAmountDecimal + = 1」のような単純なものを試しても、私はまだ同じエラーが発生するということです。 – Kris

+0

@Krisあなたが使用している本の中には、セパレートラインに並んで同じラインに表示する必要があると言わず、どちらも良いものではないという2つの理由が考えられます。 1)作者は良く分からなかった。 2)出版社は書式を変更し、著者は決してそれを修正しなかった(おそらく理由1のため)。本の著者または出版社の連絡先電子メールアドレスを持っている必要があります...将来の印刷物のために修正するために何かを送ってください! –

答えて

5

誰かがそれぞれの後に改行を持ってお奨め言ったように

を試すようにするために行いますように

Try 
InterestRateDecimal = Decimal.Parse(InterestRateTextBox.text) 

Try InterestRateDecimal = Decimal.Parse(InterestRateTextBox.text) 

この行を変更します他のみんな。

+0

私は完全に誤解された@人を..それは働いた!!私が使っている本はそのことを言及せず、同じ行にtry文を表示するとは信じられません!あなたがた両方に感謝します! – Kris

+1

コロンで区切られていれば、両方を同じ行に置くことができますが、別の行に置くのがより一般的です。 – xpda

+0

ああ、知っておいてよかった! – Kris

関連する問題