github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/golang/lint/testdata/errors.go (about)

     1  // Test for naming errors.
     2  
     3  // Package foo ...
     4  package foo
     5  
     6  import (
     7  	"errors"
     8  	"fmt"
     9  )
    10  
    11  var unexp = errors.New("some unexported error") // MATCH /error var.*unexp.*errFoo/
    12  
    13  // Exp ...
    14  var Exp = errors.New("some exported error") // MATCH /error var.*Exp.*ErrFoo/
    15  
    16  var (
    17  	e1 = fmt.Errorf("blah %d", 4) // MATCH /error var.*e1.*errFoo/
    18  	// E2 ...
    19  	E2 = fmt.Errorf("blah %d", 5) // MATCH /error var.*E2.*ErrFoo/
    20  )
    21  
    22  func f() {
    23  	var whatever = errors.New("ok") // ok
    24  	_ = whatever
    25  }
    26  
    27  // Check for the error strings themselves.
    28  
    29  func g(x int) error {
    30  	if x < 1 {
    31  		return fmt.Errorf("This %d is too low", x) // MATCH /error strings.*not be capitalized/
    32  	} else if x == 0 {
    33  		return fmt.Errorf("XML time") // ok
    34  	}
    35  	return errors.New(`too much stuff.`) // MATCH /error strings.*not end with punctuation/
    36  }