English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Восстановление используется для возвращения контроля над программой из экстренных или ошибочных ситуаций. Оно останавливает цепочку终止 и восстанавливает нормальное выполнение. Вызывается из отложенной функции. Оно извлекает ошибочное значение, переданное через panic. Обычно, оно возвращаетnil,других эффектов нет.
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