2016-11-09 11 views
0

なかった私はここに私のコード(ファイルパーサプログラム)の一部を持っている私のエラーを与える:入力文字列が正しい形式でVisual Studioの - 入力文字列が正しい形式で

For Each h1 As Char In PRIM_BIT.ToCharArray 

    rawbit = Convert.ToString(Convert.ToInt32(h1, 16), 2) 
    pribitval = pribitval & StrDup(4 - rawbit.Length, "0") & rawbit 

Next 
ませんでした

int.TryParseを使用しようとしましたが、動作しません。これを解析する方法はありますか?

+0

入力文字列はどのように見えますか? –

答えて

0

エラーが発生したときにh1の値を確認します。

h1は、有効な数字である必要があります。 0〜9、a〜f、A〜Fなど。

また、h1は空にすることはできません。


編集:

あなたはこれを回避し、続行したい場合は、Try...Catch...声明

For Each h1 As Char In PRIM_BIT.ToCharArray 
    Try 
     rawbit = Convert.ToString(Convert.ToInt32(h1, 16), 2) 
     pribitval = pribitval & StrDup(4 - rawbit.Length, "0") & rawbit 
    Catch ex As Exception 
     'Do something when error occurs. Or simply do nothing. 
    End Try 
Next 

を使用することができます私はまだエラーが発生したときに何が悪かったのかをチェックすることをお勧めいたします。

+0

h1が有効な数字ではないと仮定して、これを回避してプログラムのプロセスに進んでエラーを回避するにはどうすればよいでしょうか。これを行う方法はありますか?ソースとして入力したファイルは変更しないでください(それ以外の場合は処理することはできません) – Djamille

+0

Try ... Catch ... Statementを使用してこれを行うことができます。 –

関連する問題