警告「値が割り当てられる前に使用されています。」の対処法です。
現象
以下のソースをVisualStudio上でコーディングすると、
「sb.Clear()」の所で、警告が表示されます。
(警告が出る例)
1 2 3 4 5 6 7 |
Dim sb As StringBuilder Try sb = New StringBuilder Finally sb.Clear() End Try |
警告内容:「変数'sb'は、値が割り当てられる前に使用されています。Null参照の例外が実行時に発生する可能性があります。」
原因
この警告の原因は、変数sbが初期化されていない状態で.Clear()が呼び出される可能性があるため警告が発生しています。
(変数が初期化されない状態で.Clear()が呼び出されると例外が発生するからですね。)
なので、sbが初期化されていない状態で.Clear()が呼び出されることがないコーディングにすれば問題は解決します。
対処法
この場合の対処法としては、sbを定義した時点で何かを突っ込んでおけばOKです。
なので、上記の例の場合はsbの定義を、
1 |
Dim sb As StringBuilder = New StringBuilder |
とするか、若しくは
1 |
Dim sb As StringBuilder = Nothing |
としておけば、警告は出なくなります。
コメント