如何在 C# 中捕获索引超出范围异常?
csharpprogrammingserver side programming更新于 2025/5/29 6:52:17
当您尝试访问索引超出数组范围的元素时,会发生 IndexOutOfRangeException。
假设以下是我们的数组。它有 5 个元素 −
int [] n = new int[5] {66, 33, 56, 23, 81};
现在,如果您尝试访问索引大于 5 的元素,则会抛出 IndexOutOfRange 异常 −
for (j = 0; j < 10; j++ ) {
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
在上面的例子中,我们试图访问索引 5 以上,因此发生以下错误 −
System.IndexOutOfRangeException:索引超出了数组的边界。
以下是完整代码 −
示例
using System;
namespace Demo {
class MyArray {
static void Main(string[] args) {
try {
int [] n = new int[5] {66, 33, 56, 23, 81};
int i,j;
// error: IndexOutOfRangeException
for (j = 0; j < 10; j++ ) {
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
} catch (System.IndexOutOfRangeException e) {
Console.WriteLine(e);
}
}
}
}
输出
Element[0] = 66 Element[1] = 33 Element[2] = 56 Element[3] = 23 Element[4] = 81 System.IndexOutOfRangeException: Index was outside the bounds of the array. at Demo.MyArray.Main (System.String[] args) [0x00019] in <6ff1dbe1755b407391fe21dec35d62bd>:0
该代码将产生错误 −
System.IndexOutOfRangeException −Index was outside the bounds of the array.

