Source file src/cmd/vendor/golang.org/x/xerrors/errors.go

     1  // Copyright 2011 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package xerrors
     6  
     7  import "fmt"
     8  
     9  // errorString is a trivial implementation of error.
    10  type errorString struct {
    11  	s     string
    12  	frame Frame
    13  }
    14  
    15  // New returns an error that formats as the given text.
    16  //
    17  // The returned error contains a Frame set to the caller's location and
    18  // implements Formatter to show this information when printed with details.
    19  func New(text string) error {
    20  	return &errorString{text, Caller(1)}
    21  }
    22  
    23  func (e *errorString) Error() string {
    24  	return e.s
    25  }
    26  
    27  func (e *errorString) Format(s fmt.State, v rune) { FormatError(e, s, v) }
    28  
    29  func (e *errorString) FormatError(p Printer) (next error) {
    30  	p.Print(e.s)
    31  	e.frame.Format(p)
    32  	return nil
    33  }
    34  

View as plain text