Обработка ошибок и исключений в C#
Список вопросов теста
Вопрос 1
Блок try
Варианты ответов
- это основа механизма обработки исключений. В него помещают код, который потенциально может вызвать ошибку
- это часть конструкции, которая перехватывает и обрабатывает исключения
- это конструкция, которая позволяет гарантировать выполнение определённого кода независимо от того, возникло исключение в блоке или нет.
- используется для генерации исключения — то есть для того, чтобы явно сигнализировать о возникновении ошибки в коде
Вопрос 2
Блок catch
Варианты ответов
- это основа механизма обработки исключений. В него помещают код, который потенциально может вызвать ошибку
- это часть конструкции, которая перехватывает и обрабатывает исключения
- это конструкция, которая позволяет гарантировать выполнение определённого кода независимо от того, возникло исключение в блоке или нет.
- используется для генерации исключения — то есть для того, чтобы явно сигнализировать о возникновении ошибки в коде
Вопрос 3
Оператор throw
Варианты ответов
- это основа механизма обработки исключений. В него помещают код, который потенциально может вызвать ошибку
- это часть конструкции, которая перехватывает и обрабатывает исключения
- это конструкция, которая позволяет гарантировать выполнение определённого кода независимо от того, возникло исключение в блоке или нет.
- используется для генерации исключения — то есть для того, чтобы явно сигнализировать о возникновении ошибки в коде
Вопрос 4
Блок finally
Варианты ответов
- это основа механизма обработки исключений. В него помещают код, который потенциально может вызвать ошибку
- это часть конструкции, которая перехватывает и обрабатывает исключения
- это конструкция, которая позволяет гарантировать выполнение определённого кода независимо от того, возникло исключение в блоке или нет.
- используется для генерации исключения — то есть для того, чтобы явно сигнализировать о возникновении ошибки в коде
Вопрос 5
какой ответ выдаст программа

Варианты ответов
- программа закроется, если дынные не являются числом
- finally гарантирует, что файл будет закрыт, даже если в try произошла ошибка
- Мы не ждём, пока ошибка случится сама. Мы сами проверяем данные и, если они некорректны, создаём исключение с понятным сообщением. Это делает код чище и понятне
- Разница между throw; и throw ex; критична для отладки. throw ex; делает вид, что ошибка произошла в текущем методе, и ты теряешь информацию о том, где она случилась на самом деле
Вопрос 6
какой ответ выдаст программа

Варианты ответов
- программа закроется, если дынные не являются числом
- finally гарантирует, что файл будет закрыт, даже если в try произошла ошибка
- Мы не ждём, пока ошибка случится сама. Мы сами проверяем данные и, если они некорректны, создаём исключение с понятным сообщением. Это делает код чище и понятне
- Разница между throw; и throw ex; критична для отладки. throw ex; делает вид, что ошибка произошла в текущем методе, и ты теряешь информацию о том, где она случилась на самом деле
Вопрос 7
какой ответ выдаст программа

Варианты ответов
- программа закроется, если дынные не являются числом
- finally гарантирует, что файл будет закрыт, даже если в try произошла ошибка
- Мы не ждём, пока ошибка случится сама. Мы сами проверяем данные и, если они некорректны, создаём исключение с понятным сообщением. Это делает код чище и понятне
- Разница между throw; и throw ex; критична для отладки. throw ex; делает вид, что ошибка произошла в текущем методе, и ты теряешь информацию о том, где она случилась на самом деле
Вопрос 8
какой ответ выдаст программа

Варианты ответов
- программа закроется, если дынные не являются числом
- finally гарантирует, что файл будет закрыт, даже если в try произошла ошибка
- Мы не ждём, пока ошибка случится сама. Мы сами проверяем данные и, если они некорректны, создаём исключение с понятным сообщением. Это делает код чище и понятне
- Разница между throw; и throw ex; критична для отладки. throw ex; делает вид, что ошибка произошла в текущем методе, и ты теряешь информацию о том, где она случилась на самом деле
Вопрос 9
Варианты записи catch
1.
catch { ... }
2.
catch (Exception ex) { ... }
3.
catch (DivideByZeroException ex) { ... }
4.
catch (IOException ex) when (ex.Message.Contains("доступ")) { ... }
Варианты ответов
- ловит любое исключение. Используй редко, только если ты действительно не знаешь, что может пойти не так.
- ловит любое исключение, но даёт доступ к объекту ex, из которого можно узнать детали.
- ловит только исключения типа DivideByZeroException (деление на ноль).
- ловит исключение только при выполнении дополнительного условия (фильтр исключений).
Вопрос 10
основные типы исключений в C#
1.
Неверный формат строки при преобразовании (например, буква вместо числа)
2.
Попытка открыть несуществующий файл
3.
Деление целого числа на ноль
4.
Обращение к элементу массива по индексу, выходящему за границы
Варианты ответов
- System.FormatException
- System.IO.FileNotFoundException
- System.DivideByZeroException
- System.IndexOutOfRangeException


