Skip to content

Undefined namespace errors are misleading #3934

@reinux

Description

@reinux

When trying to open a sub-namespace that doesn't exist, the error message blames a parent namespace that does exist.

Repro steps

open System.Data
open System.Data.Common
open System.Data.Blah
open System.Data.Blah.Blah

Expected behavior

The error message on the third and fourth lines should be "The namespace or module 'Blah' is not defined."

Actual behavior

The error message is "The namespace 'Data' is not defined." even though the first two lines works fine.

Known workarounds

Check to make sure it's the sub-namespace that's missing and not the parent namespace as is indicated, by opening the parent namespace separately.

Related information

Although this in itself is a minor issue, there appears to be a systemic lack of meaningful error messages lately throughout the entire .NET stack. There used to be guidelines on handling errors and exceptions at Microsoft, but they don't seem to be adhered to anymore. I don't know where else to get in contact with devs, so I'm submitting this particular issue. I could report at least five more similar frustrations from today alone.

It's becoming extremely unproductive having to Google the meaning of every single unhandled exception and unhelpful error message. Half the time I land on a Github issue saying "This isn't a bug, you did XYZ wrong." Yes, the code itself is indeed working as designed, but if I'm doing something wrong, I need more contextualized information than a NullReferenceException from somewhere deep in the call stack, for example.

Sorry for the rant; if there's someone more appropriate to direct this message to, please let me know.

F# 4.1 on .NET Framework, Windows 10, in both Visual Studio and VS Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions