НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1292 of 1310 menu

Блок try-catch

Конструкция try-catch используется для безопасного выполнения кода, который может вызвать исключение. В блоке try размещается код, который может вызвать ошибку, а в блоке catch описывается обработка конкретных типов исключений. Дополнительно может использоваться блок finally, который выполняется в любом случае, независимо от возникновения исключения.

Синтаксис

try { // код, который может вызвать исключение } catch (e: ExceptionType) { // обработка исключения } finally { // код, который выполнится в любом случае }

Пример

Обработка исключения при делении на ноль:

val a = 10 val b = 0 try { val res = a / b println(res) } catch (e: ArithmeticException) { println("Cannot divide by zero") }

Результат выполнения кода:

String "Cannot divide by zero"

Пример

Использование блока finally:

val numbers = listOf(1, 2, 3) try { println(numbers[5]) } catch (e: IndexOutOfBoundsException) { println("Index out of bounds") } finally { println("This will always execute") }

Результат выполнения кода:

String "Index out of bounds" String "This will always execute"

Пример

Обработка нескольких типов исключений:

val input = "abc" try { val num = input.toInt() println(num) } catch (e: NumberFormatException) { println("Invalid number format") } catch (e: Exception) { println("Some other error occurred") }

Результат выполнения кода:

String "Invalid number format"

Пример

Использование try в качестве выражения:

val numberStr = "123" val number = try { numberStr.toInt() } catch (e: NumberFormatException) { -1 } println(number)

Результат выполнения кода:

Int 123

Смотрите также

  • функцию throw,
    которая используется для явного выброса исключений
  • функцию check,
    которая проверяет условие и выбрасывает исключение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить