zoukankan      html  css  js  c++  java
  • 15-错误

    错误处理

    在 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 方法来得到该错误的描述

  • 相关阅读:
    P1171 售货员的难题--搜索(剪枝)
    逆元-P3811 【模板】乘法逆元-洛谷luogu
    gcd和exgcd和lcm
    递推
    Docker hello workd
    Docker配置文件详解
    Centos7变动
    centos7安装docker
    nginx性能调优
    nginx相关
  • 原文地址:https://www.cnblogs.com/wangcuican/p/12035875.html
Copyright © 2011-2022 走看看