golang recover

package main

import "fmt"

func divideByZero() {
    // Use this deferred function to handle errors.
    defer func() {
        err := recover()
        if err != nil {
            fmt.Println("HERE")
            fmt.Println(err)
            fmt.Println(0)
        }
    }()
    // Cause an error.
    // ... Go will run the defer func above.
    cat := 0
    dog := 10 / cat
    fmt.Println(dog)
}

func main() {
    // Create a divide by zero error and handle it.
    divideByZero()
    fmt.Println("reach")
}

 

本文来自:博客园

感谢作者:rojas

查看原文:golang recover

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。