Function '<procedurename>' doesn't return a value on all code paths

Function '<procedurename>' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.

A Function procedure has at least one possible path through its code that does not return a value.

You can return a value from a Function procedure in any of the following ways:

  • Assign the value to the Function procedure name and then perform an Exit Function statement.

  • Assign the value to the Function procedure name and then perform the End Function statement.

  • Include the value in a Return Statement (Visual Basic).

If control passes to Exit Function or End Function and you have not assigned any value to the procedure name, the procedure returns the default value of the return data type. For more information, see "Behavior" in Function Statement (Visual Basic).

By default, this message is a warning. For more information on hiding warnings or treating warnings as errors, see Configuring Warnings in Visual Basic.

Error ID: BC42105

To correct this error

  • Check your control flow logic and make sure you assign a value before every statement that causes a return.

    It is easier to guarantee that every return from the procedure returns a value if you always use the Return statement. If you do this, the last statement before End Function should be a Return statement.

See Also

Concepts

Function Procedures

Reference

Function Statement (Visual Basic)