C# 程序类正在捕获I';我已经抓到了
我发现了错误 InvalidArgument=值“4”对“索引”无效 在 Intelletrace将我带到以下代码:C# 程序类正在捕获I';我已经抓到了,c#,try-catch,C#,Try Catch,我发现了错误 InvalidArgument=值“4”对“索引”无效 在 Intelletrace将我带到以下代码: for (int i = 0; i < 20; i++) { try { if (dataBase.tagInclude.Count() == 0) { commonTags.Add(data
for (int i = 0; i < 20; i++)
{
try
{
if (dataBase.tagInclude.Count() == 0)
{
commonTags.Add(dataBase.set.Tables["tagTable"].Select("tag like '*'", "count desc")[i]["tag"].ToString());
}
else
{
commonTags.Add(dataBase.tagPruneList[i].tag);
}
}
catch (IndexOutOfRangeException)
{
break;
}
catch (ArgumentOutOfRangeException)
{
break;
}
}
这段代码唯一的不同之处是使用listviewitem标记而不是textbox.text调用dataBase.Tag()函数。您正在捕获:
IndexOutOfRangeException
ArgumentOutOfRangeException
但被抛出的是:
InvalidArgument
…根据你帖子中的信息。看起来函数需要一个数字,而您正在传入一个字符或字符串。捕获抛出的异常。“而且它刚刚开始执行此操作,但是此代码已经运行了一段时间,我最近没有更改它。”-您向应用程序添加或更改了代码;该添加/更改可能会导致不必要的副作用。在您更改的方法中设置一个断点,并逐步检查代码,看看是否可以确定发生了什么。这正是我正在做的,但即使经过数百次步骤,我也无法确定问题是什么,没有发生异常情况。调试器说应用程序正在抛出InvalidArgument。该代码块正在抛出Run和ArgumentOutOfRangeException。如果我为InvalidArgument添加一个catch,我只会得到一个错误,编译器不知道那是什么。添加System.ArgumentException的捕获不会改变任何内容。您应该编辑帖子,以包含异常的确切文本以及引发异常的精确行。
IndexOutOfRangeException
ArgumentOutOfRangeException
InvalidArgument