Worksheetsчистый код: 7 глава "Обработка ошибок"
Total questions: 9
Worksheet time: 29mins
Код, который может инициировать исключения, рекомендуется начинать с конструкции?
if-else
try-catch-finally
нет необходимости использовать какие-либо конструкции
try-except
Как часто требуется использовать проверяемые исключения?
всегда
никогда
так часто, как это возможно
при написании особо важных библиотек
Какую информацию необходимо передавать с исключениями?
каскадный вызов функций (стек вызовов)
информацию об ошибке (например, о том, какой пользователь обрабатывался)
содержательное сообщение об ошибке, включая сведения о сбойной операции и типе сбоя
номер ошибки, зарегистрированный в журнале ошибок
Какой общий недостаток имеется в программах, которые либо устанавливают флаг ошибки, либо возвращают код, проверяемый вызывающей стороной?
загромождают код на стороне вызова
недостатка нет
код ошибки или флаг могут иметь некорректное значение
вызывающая сторона должна проверять ошибки немедленно после вызова
О чем прежде всего необходимо думать при определении классов исключений в приложениях?
о том как создать базовый класс для всех исключений
о типах ошибок (например: сетевой сбой)
о том, как они будут перехватываться
должны ли классы исключений быть частью класса, который может их генерировать
Определите пример удачной классификации исключений
LocalPort - класс обертка
Учитываем все исключения
Базовое исключение с кодом ошибки
Почему бывают полезны обертки, инкапсулирующие вызовы сторонних API?
кодовая база становится более гибкой к изменениям
упрощается тестирование
пользы нет
сокращается до минимума зависимость от сторонних вызовов
можно определить тот API, который удобен
Какие действия программистов, провоцируют ошибки?
возвращение null
передача null при вызове, за исключением методов сторонних API
никакие
неправильная расстановка знаков, например программист забыл поставить . или перепутал название оператора
нарушение заданного алгоритма вычислений
Чистый код согласно 7 главе "Обработка ошибок" это?
код, который может быть прочитан и улучшен другим разработчиком
код, который читается, понятен любому разработчику и прост в поддержке
надежный код, который хорошо читается
код, который легко и приятно читается и понятен разработчикам с первого взгляда
