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函数继续执行")
}
到此这篇关于“Go语言之错误处理”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
想系统学习GO语言(Golang
go语言和python哪个难
Go语言学习3----Go语言特色
Go语言发展历史、核心、特性及学习路线
on error goto与try catch语句介绍
Go 语言到底适合干什么?
想学一门新的编程语言?考虑一下Go (Golang)吧
Go Base
Go 语言十年而立,Go2 蓄势待发
golang异常机制