内容简介:未完待续。。。
error接口:源码
Go语言引入了一个关于错误处理的标准模式,即error接口,它是 Go 语言内建的接口类型,该接口的定义如下: type error interface { Error() string } Go语言的标准库代码包errors为用户提供如下方法: package errors type errorString struct { text string } func New(text string) error { return &errorString{text} } func (e *errorString) Error() string { return e.text } 另一个可以生成error类型值的方法是调用fmt包中的Errorf函数: package fmt import "errors" func Errorf(format string, args ...interface{}) error { return errors.New(Sprintf(format, args...)) }
示例:
// code_027_error_panic_recover project main.go
package main
import (
"errors"
"fmt"
)
//Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,New, Error, Errorf方法
func Divide(a, b float64) (result float64, err error) {
if b == 0 {
result = 0.0
err = errors.New("runtime error:divide by zezo")
return
}
result = a / b
err = nil
return
}
func main() {
var err1 error = errors.New("a normal err1")
fmt.Println(err1)
var err2 error = fmt.Errorf("%s", "normal err2")
fmt.Println(err2)
r, err := Divide(10.0, 0)
if err != nil {
fmt.Println(err) //报错,错误处理
} else {
fmt.Println(r) //使用返回值
}
}
未完待续。。。
以上所述就是小编给大家介绍的《Go语言的异常处理之errors,panic, recover》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
NoSQL精粹
[美]Pramod J. Sadalage、[美]Martin Fowler / 爱飞翔 / 机械工业出版社 / 2013-8 / 49.00元
《NoSQL精粹》为考虑是否可以使用和如何使用NoSQL数据库的企业提供了可靠的决策依据。它由世界级软件开发大师和软件开发“教父”Martin Fowler与Jolt生产效率大奖图书作者Pramod J. Sadalage共同撰写。书中全方位比较了关系型数据库与NoSQL数据库的异同;分别以Riak、MongoDB、Cassandra和Neo4J为代表,详细讲解了键值数据库、文档数据库、列族数据库......一起来看看 《NoSQL精粹》 这本书的介绍吧!