2017-09-01 5 views
-1

"inventory.txt"というタイトルのテキストファイルを読み込み、別の配列に保存しようとしています。私はindexOutOfRangeExceptionが処理されていないerror.When私は私のコードを通過し、 "itembulkAmt"上にカーソルを移動すると、テキストファイルのdiffernt行から情報を表示するので、いくつかのアイテムは大量の金額やニンテンドースイッチなどの価格を持っていない。私はどんな助けにも感謝するつもりです。これは、テキストファイルは次のようになります。indexOutOfRangeExceptionが処理されなかったエラー

愚かなパテ、3.95,10,2.99
愚かな文字列、3.50,10,2.77
任天堂スイッチ、429.99
マリオカート(スイッチ)、49.99
コードジャムチャレンジ(スイッチ)、47.99
Fidget Spinner、6.79,5,5.98
ルービックキューブ9.10
'プログラミングルール!'ボタン、0.79,20、.47
'プログラミングルール!'必ずしもすべての項目の泡Oバンパーステッカー、0.99,20、0.78
ボトル、0.99

'read and validate inventory text file 
    Dim invntFile As StreamReader 
    If File.Exists("inventory.txt") Then 
     invntFile = File.OpenText("inventory.txt") 
     Dim indexInvnt As Integer = 0 
     While Not invntFile.EndOfStream 
      Dim entirelineInvnt = invntFile.ReadLine 
      Dim inventory() As String = entirelineInvnt.Split(","c) 
      Dim itemName As String = inventory(0) 
      Dim itemPrice As Double = CDbl(inventory(1)) 
      Dim itemBulkAmt As Double = CDbl(inventory(2)) 
      Dim itemBulkPrice As Double = CDbl(inventory(3)) 
      itemLabel(indexInvnt) = itemName 
      priceReg(indexInvnt) = itemPrice 
      amtBulk(indexInvnt) = itemBulkAmt 
      priceBulk(indexInvnt) = itemBulkPrice 
      indexInvnt += 1 
     end while 
    end if 
+0

[尋ねる]を読んで[ツアー]を取る(投稿の書式設定のための小さなツールバーにもツールとヘルプがあります) – Plutonix

+0

Try Catchブロックを使用して簡単にこれを処理できます –

+0

ファイル内の行の一部4要素。あなたのコードでは、これらの行に例外がスローされます。 –

答えて

2

は3つの価格を持っています。したがって、inventory(2)とinventory(3)は結果としてインデックスエラーを投げています。

関連する問題