Блок catch

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

Синтаксис

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

Пример

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

kotlintry {
  val res = 10 / 0
} catch (e: ArithmeticException) {
  println("Caught exception: ${e.message}")
}

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

kotlinString "Caught exception: / by zero"

Пример

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

kotlintry {
  val arr = arrayOf(1, 2, 3)
  println(arr[5])
} catch (e: ArrayIndexOutOfBoundsException) {
  println("Array index out of bounds")
} catch (e: Exception) {
  println("General exception")
}

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

kotlinString "Array index out of bounds"

Пример

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

kotlintry {
  val file = openFile("data.txt")
} catch (e: FileNotFoundException) {
  println("File not found")
} finally {
  println("This block always executes")
}

Результат выполнения кода (если файл не найден):

kotlinString "File not found"
String "This block always executes"

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

  • блок try,
    который содержит код, способный вызвать исключение
  • блок finally,
    который выполняется в любом случае
  • функцию throw,
    которая явно выбрасывает исключение