C#为字符串null

-7 c# console-application

今天,我需要帮助的东西,我发现一个错误在我的C#应用程序,它实在是烦人修复,我很新的C#和没有这方面的技能由我自己来解决它的错误表示无法转换的对象type System.DBNullto type system.string 无法继续按任意键停止服务器; 它是在一个catch中的一个文件中,写了一个写作线我已经发布了我的完整文件program.cs

这是尝试的捕获地点

catch (Exception exception)
        {
            HandleFatalError("Could not initialize Reality: " + exception.Message);
            return;
        }
Run Code Online (Sandbox Code Playgroud)

完整的program.cs文件:http://chaserp.net/full.txt(如果一个mod可以附加这个)不允许我添加它?

Jon*_*eet 6

好吧,正如它所说,你正试图投射DBNullstring.大概在某个地方,你有类似的东西:

string value = (string) reader["Foo"];
Run Code Online (Sandbox Code Playgroud)

...其中值实际为a DBNull(即数据库中为NULL).

您应该记录整个异常,包括堆栈跟踪,而不是仅打印异常消息.这将让您确切地找出程序中哪一行导致问题,因此您可以通过首先检查无效来修复它.

请注意,DBNull是不一样的一个null值,无论是作为一个null参考或者一个空值类型的默认值.