Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЕгор Степурин
1 Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов
2 Лекция 3. «Beyond the C». Обработка ошибок. Библиотеки Java.
3 Обработка ошибок в программах Пользователи всегда делают не то, что предполагает программа Программа не должна «падать», если ей на вход дали некорректные данные. Все данные, вводимые пользователем надо проверять
4 Защита от неправильных входных данных Проверяйте все данные из внешних источников Проверяйте значения входных параметров метода Обнаруживайте ошибку как можно раньше
5 Защита от неправильных входных данных (2) Решите, как обрабатывать неправильные входные данные: –Завершить работу программы –Выдать сообщение об ошибке –Записать сообщение об ошибке в журнал (во внешний файл) –Вызвать обработчик ошибок –Обработать ошибку в месте возникновения –Заменить данные корректными
6 Инструменталные средства для обработки ошибок Условные операторы Исключения Asserts Средства протоколирования
7 Обработка ошибок с применением условных операторов File f = new File(myfile.txt); if ( ! f.canRead() ) { System.err.println(Cant read file + myfile.txt); } BufferedReader in = new BufferedReader( new FileReader(f) ); do { String s = in.readLine(); if (s != null ) { System.out.println(s); } } while ( s != null )
8 Обработка ошибок в Unix Каждая программа возвращает числовое значение – код возврата: 0 – все хорошо, >0 – код ошибки. В командном интерпретаторе (shell) можно выстраивать цепочки команд, проверяя, выполнилась ли правильно предыдущая программа: > test – x index.html && echo 1 > test –r index.html && echo 1 1 >
9 Механизм исключений KISS Повышение читабельности кода Цель исключений – отделить нормальное выполнение программы от обработки возможных ошибок. А также дать программисту возможность обрабатывать ошибки там, где это нужно, а не там, где они возникли.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.