Может ли быть несколько catch в try/catch

«Может ли быть несколько catch в try/catch» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, в блоке try/catch можно использовать несколько блоков catch для обработки разных типов исключений. Порядок важен: сначала ловятся более конкретные исключения, затем более общие.

try {
    // Код, который может выбросить исключение
} catch (e: IOException) {
    // Обработка IOException
} catch (e: Exception) {
    // Обработка всех остальных исключений
}

Если поместить catch (e: Exception) первым, то более специфичные исключения (например, IOException) никогда не будут пойманы, так как Exception является их родителем.