drwjv28028 2019-04-28 02:11
浏览 100
已采纳

func(e * errorString)FormatError(p打印机)(下一个错误)

https://github.com/golang/xerrors/blob/master/errors.go#L29:47

func (e *errorString) FormatError(p Printer) (next error) {
    p.Print(e.s)
    e.frame.Format(p)
    return nil
}

If am not mistaken this always returns nil right ? What is then the purpose of next if it's always nil ?

  • 写回答

1条回答 默认 最新

  • doudi8525 2019-04-28 02:25
    关注

    What is then the purpose of next?


    The FormatError(p Printer) (next error) method satisfies an interface.

    // A Formatter formats error messages.
    type Formatter interface {
        error
    
        // FormatError prints the receiver's first error and returns the next error in
        // the error chain, if any.
        FormatError(p Printer) (next error)
    }
    

    Sometimes we do return a non-nil error.

    func (e *noWrapError) FormatError(p Printer) (next error) {
        p.Print(e.msg)
        e.frame.Format(p)
        return e.err
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件
  • ¥15 使用ESP8266连接阿里云出现问题
  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人