Я создаю функцию, которая выполняет итерацию через сетку точек и возвращает индексы всех смежных точек. Для края сетки есть соседние точки, которых не существует, поэтому я создал несколько блоков try для обработки этих случаев. Вот код:C++ вне допустимого диапазона
try {
all_below[j] = Mesh.matrix[r[i]][c[i] - j];
}
catch (const std::out_of_range& oor) {
below = NAN;
below_k = NAN;
}
Но всякий раз, когда я пытаюсь запустить программу, заявление поймать не поймать исключение и сбоев программы (потому что Mesh.matrix находится вне диапазона). Что я делаю не так?
Edit:
матрица представляет собой 2D вектор междунар.
Какой тип 'матрицы'? – jrok
Является ли матрица 'operator []' возбуждением этого исключения? – juanchopanza
Подарок. A. Тест. http://sscce.org –