C #: использовать IndexOutOfRangeException или избегать этого? - PullRequest
1 голос
/ 15 мая 2019

У меня есть 2D-массив (изображение), и я всегда проверяю границу индекса в функции, подобной:

...
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;
}

Чтобы компилятор проверил границу, а не я сам.

Это подходящий способ использовать исключения, чтобы помочь кодированию? В противном случае, следует ли избегать исключений все время, насколько это возможно?

...