Go语言之错误处理


本文摘自网络,作者,侵删。

参考链接: Go语言-错误处理

错误处理机制 

 

 当程序发生错误,程序就会崩溃,所以,引进错误处理机制,当发生错误后,可以捕获错误,并进行处理,保证程序正常执行,并返回给管理员错误的信息提示。 

 

异常处理 

 

 Go中抛出一个panic的异常,然后在关键字defer中通过recover()函数捕获这个异常,最后正常处理。 

 defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。 

 

程序案例 

package main

import (

    "fmt"

)


func test() {

    // 使用defer + recover 来捕获异常

    defer func() {

        // recover()内置函数,可以捕获异常

        err := recover()

        // 说明捕获异常的错误

        if err != nil {

            fmt.Println("err=", err)

        }

    }

    num1 := 10

    num2 := 0

    res := num1 / num2

    fmt.Println("res=", res)

}


func main() {

    test()

}

 

自定义错误 

 

 error类型是go语言的一种内置类型,是一个接口。 

 errors.New(“错误说明”),会返回一个error类型的值,表示一个错误 

 panic()内置函数,接收一个interface{}类型的值 作为参数,可接收error类型的变量,输出错误信息,并退出程序 

 

程序案例 

package main

import "fmt"



func readConf(name string) error {

    if name == "config.ini" {

        return nil

    } else {

        return errors.New("读取文件错误")

    }

}


func main() {

    err := readConf("config1.ini")

    if err != nil {

        panic(err)

    } else {

        fmt.Println("继续执行")

    }

    

    fmt.Println("main函数继续执行")   

}



本文来自:51CTO博客

感谢作者:wx57f63dceec388

查看原文:Go语言之错误处理

相关阅读 >>

Golang-匿名函数

Golang使用kafka报错c.client.config.config.consumer.offsets.commitinterval undefined问题

Golang 能不能打包为 dll ?

Golang中的bee是指什么

Golang 如何开启协程

详解Golang中函数作为值与类型

Golang 入门系列(二)学习Go语言需要注意的坑

grpc-quick start

Golang造轮子,封装一个简单的http client

分享Golang实现文件传输小demo

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...