次の方法で共有


関数 '<procedurename>' すべてのコード パス上では値を返しません。

更新 : 2007 年 11 月

エラー メッセージ

関数 '<procedurename>' すべてのコード パス上では値を返しません。結果が使用されるときに、Null 参照の例外が実行時に発生する可能性があります。

Function プロシージャには、値を返さない可能性があるコードへのパスが少なくとも 1 つあります。

Function プロシージャからは、以下の方法のいずれかで値を返すことができます。

  • 値を Function プロシージャ名に代入し、Exit Function ステートメントを実行します。

  • 値を Function プロシージャ名に代入し、End Function ステートメントを実行します。

  • 値を Return ステートメント (Visual Basic) に含めます。

値をプロシージャ名に代入しないで、制御を Exit Function または End Function に渡した場合、プロシージャは戻り値のデータ型の既定値を返します。詳細については、「Function ステートメント (Visual Basic)」の「動作」を参照してください。

既定では、このメッセージは警告です。警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、Visual Basic での警告の構成 を参照してください。

Error ID: BC42105

このエラーを解決するには

  • 制御フローのロジックを調べて、ステートメントが値を返す前に値が割り当てられていることをすべて確認してください。

    常に Return ステートメントを使うと、値を返すプロシージャが確実に値を返すようにするのが簡単になります。この場合は、End Function の直前のステートメントを Return ステートメントにする必要があります。

参照

概念

Function プロシージャ

参照

Function ステートメント (Visual Basic)