
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Исключения в Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Пример: вычислениеЦ нтр дистанционного обучения
- •треугольнП имер: вычисление
- •Центр дистанционного обучения
- •Пример: вычислениеЦентр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Выражение
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Пример
- •исключенПример распространЦееннтр
- •Центр дистанционного обучения
- •Пример
- •Центр дистанционного обучения
- •Иерархия классов Центр дистанционного обучения
- •Иерархия классов
- •Проверяемые или
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Непроверяемые или
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Непроверяемые или Центр дистанционного обучения
- •Непроверяемые или
- •Непроверяемые неконтролируемыеили
- •Непроверяемые или
- •Непроверяемые или
- •Непроверяемые или
- •Непроверяемые неконтролируемыеили
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Пример использования
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Стандартны
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения
- •Центр дистанционного обучения

Центр дистанционного обучения
Пример выражение
throw// представляет собой исключительное состояние, которое
//обрабатывает случай, когда значение находится вне //некоторого конкретного диапазона.
public class OutOfRangeException extends Exception
{
//
/Устанавливает объект исключения с определенным сообщением
OutOfRangeException (String message)
{
super (message);
}
}
online.mirea.ru

Центр дистанционного обучения
Исключе
ния
Поэтому примеры выше с catch для unchecked exceptions – только для иллюстрации!
online.mirea.ru

I/O
Центр дистанционного обучения
•исключенияДавайте рассмотрим вопросы, связанные с исключениями ввода/вывода
•Поток представляет собой последовательность байтов, которые выходят из некоторого источника
инаправляются в приемник,
•В программе, мы читаем информацию из входного потока данных и записываем информацию в
выходной поток
• Программа может управлять несколькими потоками одновременно
10-64 online.mirea.ru

Стандартны |
Центр дистанционного обучения |
|
|
е I/O |
|
• Существуют три стандартных потока ввода/вывода: |
|
• Стандартный поток вывода |
–определен в |
System.out |
|
• Стандартный поток ввода |
– определен в |
System.in |
|
• Стандартный поток ошибок |
– определен в |
System.err |
|
•Мы используем System.out когда, напрмер выполняем выражение println()
•System.out и System.err обычно представляют как правило, представляют собой конкретное окно на экране монитора
•System.in обычно представлят ввод клавиатуры,
10-65 |
|
который мы многократно используем с объектами |
online.mirea.ru |
Scanner

Центр дистанционного обучения
Исключе
ния
•class IOException extends Exception { ... }
•class FileNotFoundException extends IOException { ... }
•class NoSuchFileException extends IOException { ... }
online.mirea.ru

Центр дистанционного обучения
Класс
•IOException
Операции, выполняемые с помощью некоторых классов ввода / вывода могут выбрасывать IOException
•Файл с таким именем может не существовать
•Даже если файл существует, программа может быть не состоянии найти его
• Файл может не содержать тип данных, мы ожидаем
• IOException это проверяемое исключение
10-67 online.mirea.ru

Центр дистанционного обучения
Исключе
•В tryния... catch может быть несколько блоков catch. При этом срабатывает первый блок, под который подпадает сработавшее исключение. Поэтому сначала должны идти более специфичные, потом более общие исключения.
try {
byte[] data = Files.readAllBytes(Paths.get(“file.txt”));
}catch (IOException ex) { System.err.println(ex.toString());
}catch (NoSuchFileException | FileNotFoundException ex) {
// Сюда мы никогда не попадаем!
online.mirea.ru

Центр дистанционного обучения
Исключе
ния
В блоке catch может быть указано несколько исключений. При этом тип переменной ex – их общий предок (всегда как минимум Throwable).
try {
byte[] data = Files.readAllBytes(Paths.get(“file.txt”));
}catch (NoSuchFileException | FileNotFoundException ex) { System.err.println(“Файл не найден”);
}catch (IOException ex) { System.err.println(ex.toString());
}
online.mirea.ru

Центр дистанционного обучения
Исключе
ния
•Path file = Paths.get(“file.txt”);
Bu eredReader rdr = Files.newBu eredReader(file); String line1 = rdr.readLine();
rdr.close(); // может быть не вызван, если в rdr.readLine() произойдет ошибка!
•Открытые файлы всегда нужно закрывать!
online.mirea.ru

Центр дистанционного обучения
Исключе
ния
Path file = Paths.get(“file.txt”); try (Bu eredReader rdr = Files.newBu eredReader(file)) {
String line1 = rdr.readLine();
}
В блоке try-with-resources rdr.close() вызывается автоматически!
online.mirea.ru