首页 > 解决方案 > C#:使用 IndexOutOfRangeException 还是避免它?

问题描述

我有一个二维数组(图像),我总是在一个函数中检查索引的边界,比如:

...
if (y < 0)
  return -1;
if (x < 0)
  return -1;
if (y >= width)
  return -1;
if (x >= height)
  return -1;

int col = imgArray[y,x];
return col;

我想像这样更改此代码:

...
int col = -1;

try {
    col = imgArray[y,x];
}
catch (IndexOutOfRangeException ex) {
    return -1;
}

让编译器检查边界,而不是我自己。

使用异常来帮助编码是否合适?否则,是否应该尽可能避免异常?

标签: c#exceptiontry-catch

解决方案


推荐阅读