“未处理IndexOutOfRangeException”
string ebtocosname;
ebtocosname = webBrowser2.Document.GetElementById("Fullname").GetAttribute("value");
var NAMES = ebtocosname.Split();
webBrowser1.Document.GetElementById("FirstName").SetAttribute("value", NAMES[0]);
webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]); // This line here shows that IndexOutofRangeException was unhandled"Fullname“的值上只有一个名称。因此,它应该只在"FirstName“中写入名称,并在”LastName“中保留空白。
但是它停止了,它显示代码的最后一行是"IndexOutOfRangeException未处理“。
而且,只有当"Fullname“的值上有两个名字时,它才能正常工作。
我如何才能使它在这样一种方式下工作:即使“Fullname”的值中没有NAMES1,它也不会停止?
我要做的是通过将"FirstName“和”LastName“分开来传递"Fullname”的值。但有时"Fullname“的值不包含姓氏...然后我的程序停止并说"IndexOutOfRangeException是未处理的“
请帮帮我!我写了很多IF语句来处理这种情况,当变量NAMES1不存在于"Fullname“中时,它仍然显示""IndexOutOfRangeException it”“
发布于 2012-04-16 01:35:59
只需检查您的拆分是否产生ore或两个值:
if(NAMES.Length == 2)
webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]); 当然,这假设您没有其他问题,例如:
等。
您应该更仔细地计划您的输入验证,以捕获任何其他奇怪的行为。
https://stackoverflow.com/questions/10164383
复制相似问题