char[] delimiter = { ':' };
上面的行在我的生产服务器上抛出空引用异常,但在我的本地机器上没有问题。请帮我解决这个问题。
相关代码
56 char[] delimiter = { ':' };
57 string[] split = completeString.Split(delimiter);
58 int first = Int32.Parse(split[INDEX1]);
59 string second = split[INDEX2];
60 string third = split[INDEX3];
异常日志表示第56行产生异常。
以下是堆栈跟踪
System.NullReferenceException: Object reference not set to an instance of an object.
at *****.Method2(String str1, String completeString) in *****\Class2.cs:line 56
at *****.Method1(String str1, String str2) in *****\Class1.cs:line 117
答案 0 :(得分:0)
string[] split = completeString.Split(delimiter);
以上一行是抛出此异常。 如果它是任何后续行,则可能是“索引超出范围”异常。
我将假设completeString
在您的生产环境中为空。
如果您确定在生产数据库中不是null
,那么从数据库中检索值似乎有些困难。
注意:顺便说一下,你应该在防守上编码。将来包括一些空检查。
答案 1 :(得分:-2)
char[] delimiter=new char[]{':'};