教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang之panic,recover,defer

golang之panic,recover,defer

发布时间:2022-12-18   编辑:jiaochengji.com
教程集为您提供golang之panic,recover,defer等资源,欢迎您收藏本站,我们将为您提供最新的golang之panic,recover,defer资源

defer,recover:

package main

import (
    "fmt"
    "time"
)

func test() {
    defer func() {
        //defer中使用recover来捕获异常
        //defer在函数执行结束最后,执行该方法
        if err := recover(); err != nil {
            fmt.Println(err)
        }
    }()
    b := 0
    a := 100 / b
    fmt.Println(a)
    return
}

func main() {
    for {
        test()
        time.Sleep(time.Second)
    }
    var a []int
    a = append(a, 10, 20, 383)
    a = append(a, a...)
    fmt.Println(a)

}

panic:

package main

import (
    "errors"
    "fmt"
    "time"
)

func initConfig() (err error) {
    return errors.New("init config failed")
}

func test() {
    //defer func() {
    //    //defer中使用recover来捕获异常
    //    //defer在函数执行结束最后,执行该方法
    //    if err := recover(); err != nil {
    //        fmt.Println(err)
    //    }
    //}()
    err := initConfig()
    if err != nil {
        panic(err)
    }
    return
}

func main() {
    for {
        test()
        time.Sleep(time.Second)
    }
    var a []int
    a = append(a, 10, 20, 383)
    a = append(a, a...)
    fmt.Println(a)

}

 


到此这篇关于“golang之panic,recover,defer”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang中的defer recover panic
Go 异常处理机制——defer, error, panic, recover
Golang模仿try & catch
defer ,panic,recover
golang异常处理机制
recover 没有捕获异常_GO语言异常处理机制panic和recover分析
【Go学习】一道简单Golang面试题中关于panic和defer的执行顺序引发的惨案
DataWhale & Golang(十、异常处理)
Go 学习之路:异常处理defer,panic,recover
Golang - 访问数据库报错后程序继续运行

[关闭]
~ ~