English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Golang

Управляющие операторы в Golang

Функции и методы в Golang

Структуры в Golang

Срезы и массивы в Golang

Строки (String) в Golang

Указатели в Golang

Интерфейсы в Golang

Конкурентоспособность в Golang

Исключения (Error) в Golang

Другие статьи по Golang

Восстановление (Recover) в Go

Восстановление используется для возвращения контроля над программой из экстренных или ошибочных ситуаций. Оно останавливает цепочку终止 и восстанавливает нормальное выполнение. Вызывается из отложенной функции. Оно извлекает ошибочное значение, переданное через panic. Обычно, оно возвращаетnil,других эффектов нет.

Пример Go recover()

package main
import (
   "fmt"
)
func main() {
   fmt.Println(SaveDivide(10, 0))
   fmt.Println(SaveDivide(10, 10))
}
func SaveDivide(num1, num2 int) int {
   defer func() {
      fmt.Println(recover())
   }()
   quotient := num1 / num2
   return quotient
}

Вывод:

runtime error: integer divide by zero
0
<nil>
1