Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Блок try-catch- предназначен для перехвата и обработки исключений, происходящих в исполняемом коде. Некоторые исключения могут обрабатываться в блоке catch, и проблема решается без повторного вызова исключения. Но в большинстве случаев на этом этапе можно только проверить, что вызывается подходящее исключение.
Пример
В этом примере IndexOutOfRangeException не является наиболее подходящим исключением. Для данного метода больше подходит исключение ArgumentOutOfRangeException, так как ошибка вызывается аргументом index, который передает вызывающая функция.
static int GetInt(int[] array, int index)
{
try
{
return array[index];
}
catch (IndexOutOfRangeException e) // CS0168
{
Console.WriteLine(e.Message);
// Set IndexOutOfRangeException to the new exception's InnerException.
throw new ArgumentOutOfRangeException("index parameter is out of range.", e);
}
}
Комментарии
Код, вызывающий исключение, находится в блоке try. Оператор catch добавляется сразу после его обработки IndexOutOfRangeException, если она возникает. Блок catch обрабатывает IndexOutOfRangeException и создает более подходящий ArgumentOutOfRangeException объект. Чтобы вызывающий объект получил максимально подробную информацию, рекомендуется указать исходное исключение в качестве значения InnerException нового исключения. Так как свойство InnerException доступно только для чтения, его значение необходимо присваивать только в конструкторе нового исключения.