Недавно начал изучать Java под Android. Как я понял, исключения нужно брать в блок try and catch. При этом блоков catch может быть столько, сколько может быть исключений, и каждый класс Exception отвечает за свое исключения.
IOExceptoin и из-за чего он может сработать?Поскольку принятый ответ не отвечает на первую часть вопроса:
При этом блоков 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) {
//что-то делаем
}
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
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости