首页 > 其他 > 详细

15-错误

时间:2019-12-13 16:36:51      阅读:102      评论:0      收藏:0      [点我收藏+]

错误处理

在 Go 中,错误一直是很常见的。错误用内建的 error 类型来表示。

示例

该程序试图打开一个并不存在的文件

package main
import (  
    "fmt"
    "os"
)

func main() {  
    f, err := os.Open("/test.txt")
    if err != nil {        #判断是否是nil,不是nil就是错误
        fmt.Println(err)   #打印错误信息
        return
    }
    fmt.Println(f.Name(), "opened successfully")
}

如果成功打开文件,Open 函数会返回一个文件句柄(File Handler)和一个值为 nil 的错误。而如果打开文件时发生了错误,会返回一个不等于 nil 的错误。

按照 Go 的惯例,在处理错误时,通常都是将返回的错误与 nil 比较。nil 值表示了没有错误发生,而非 nil 值表示出现了错误

错误类型的表示

让我们进一步深入,理解 error 类型是如何定义的error 是一个[接口]类型,定义如下:

type error interface {  
    Error() string
}

error 有了一个签名为 Error() string 的方法。所有实现该接口的类型都可以当作一个错误类型。Error() 方法给出了错误的描述。

fmt.Println 在打印错误时,会在内部调用 Error() string 方法来得到该错误的描述

15-错误

原文:https://www.cnblogs.com/wangcuican/p/12035875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!