Вопрос про исключения

188
23 декабря 2017, 05:27

Недавно начал изучать Java под Android. Как я понял, исключения нужно брать в блок try and catch. При этом блоков catch может быть столько, сколько может быть исключений, и каждый класс Exception отвечает за свое исключения.

  1. Первый вопрос, правильно ли я понял?
  2. За что отвечает класс IOExceptoin и из-за чего он может сработать?
Answer 1

Поскольку принятый ответ не отвечает на первую часть вопроса:

При этом блоков catch может быть столько, сколько может быть исключений, и каждый класс Exception отвечает за свое исключения.

Можно так и так.

Поясню на примере, допустим есть код который выкидывает 2 типа исключений IOException и SQLException, возможны, грубо говоря 2 стратегии перехвата исключений:

Типизированный перехват

try {
   //blah-blah
   //какой-то код
}
catch(IOException ioEx) {
   //что-то делаем
}
catch(SQLException sqlEx) {
   //что-то делаем
}

Нетипизированный перехват

В этом случае будут перехвачены все исключения, для которых Exception является родителем

try {
   //blah-blah
   //какой-то код
}
catch(Exception ex) {
   //что-то делаем
}

Есть еще некая смесь обоих этих подходов для Java >= 7, когда в одном блоке catch можно указать список перехватываемых Exception

try {
   //blah-blah
   //какой-то код
}
catch(IOException|SQLException ex) {
   //что-то делаем
}
Answer 2

public class IOException extends Exception

Signals that an I/O exception of some sort has occurred. This class is the general class of exceptions produced by failed or interrupted I/O operations.

Сигнализирует об ошибке во время чтения\записи в потоки. Про конкретные ошибки не скажу - не знаю.

IOException

READ ALSO
Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree

148
Получение картинок с сайта

Получение картинок с сайта

Делаю программу для расписания и возникла проблема

188
Как работать с файлами в android проекте

Как работать с файлами в android проекте

Мне нужно что бы в проекте был TXT файлКуда его засунуть и как его достать через код java

216
Обновлять TableView после удаления записи из БД

Обновлять TableView после удаления записи из БД

Есть метод, который удаляет из БД выбранную в TableView записьЗапись из БД нормально удаляется, а как обновить TableView? В TableView остается запись, пока...

236