2.7【错误处理】Go 错误与异常处理机制

Go 使用 error 接口处理错误,函数常返回错误值。使用 if err != nil 检查。defer 用于资源清理。无传统异常,使用 panic/recover 仅限严重错误。

案例

 

  1. 基本错误处理
    go

    	func (f *File) Close() error {
    	    err := f.file.close()
    	    f.file = nil
    	    return err
    	}
    	if err := f.Close(); err != nil {
    	    log.Print(err)
    	}

    文件关闭检查。

  2. defer 示例
    go

    	f, err := os.Open(filename)
    	if err != nil {
    	    return err
    	}
    	defer f.Close()

    确保文件关闭。

  3. 自定义错误
    go

    	type error interface {
    	    Error() string
    	}

    错误接口。

作者:admin  创建时间:2025-08-19 00:09
最后编辑:admin  更新时间:2025-08-19 00:11