6. Спецкурс ОмГУ-2014
Что делать:
1. предотвращать – для
внутренних, конфигурационных
2. обрабатывать – для неверных
входных данных, недоступности
ресурсов
Исключительные ситуации
7. Спецкурс ОмГУ-2014
Защитное программирование –
стиль, при котором во всех
функциях (методах) обязательно
проверяется предусловие и при
невыполнении генерируется
исключительная ситуация
Исключительные ситуации
8. Спецкурс ОмГУ-2014
Защита от внутренних
ошибок:
1. утверждения (assert)
2. модульные тесты
Исключительные ситуации
9. Спецкурс ОмГУ-2014
Защита от неверных данных:
1. проверка предусловия –
только если просто
2. в остальных случаях –
отлавливание исключений
Исключительные ситуации
10. Спецкурс ОмГУ-2014
Функция (метод) может:
1. вернуть специальное значение
(-1, NULL, пустой объект, код
ошибки и т.д.)
2. выбросить исключение (если
язык поддерживает)
Исключительные ситуации
11. Спецкурс ОмГУ-2014
Функция (метод) не должна:
1. изменять глобальные объекты
программы
2. выводить информацию об
ошибке в консоль или внешний
файл (без использования logger-а)
Исключительные ситуации
12. Спецкурс ОмГУ-2014
Хорошее поведение функции
(метода) в Java:
1. возвращать пустые объекты
2. возвращать NULL
3. выбрасывать исключения
Исключительные ситуации
15. Спецкурс ОмГУ-2014
В чем проблемы:
1. вызывающий код должен
подключать лишние библиотеки
2. слишком большой список
исключений
Исключительные ситуации
16. Спецкурс ОмГУ-2014
В чем проблемы:
3. раскрываются детали
реализации
4. затрудняется использование
интерфейсов
Исключительные ситуации
18. Спецкурс ОмГУ-2014
Логгирование –
фиксация только ошибочных
ситуаций и важных этапов работы
программы с целью поиска
внутренних и конфигурационных
ошибок
Журналирование и логи
20. Спецкурс ОмГУ-2014
Уровни логгирования в Java:
Fatal – фатальный сбой, нельзя
продолжать работу
Error – ошибка, можно
продолжать работу
Журналирование и логи
21. Спецкурс ОмГУ-2014
Уровни логгирования в Java:
Warning – потенциальная ошибка
Info – важный шаг, информация
Debug – отладочный вывод
Журналирование и логи
23. Спецкурс ОмГУ-2014
Принято логгировать:
3. начало и завершение важных
функций – особенно соединения с
внешними системами – с
сохранением отправленных и
принятых данных - Info
Журналирование и логи
27. Спецкурс ОмГУ-2014
Когда нужно журналирование:
1. финансовые системы
2. системы, от которых зависит
жизнь и здоровье
3. документооборот
4. любые базы данных
Журналирование и логи