mirror of
https://github.com/golang/go
synced 2024-11-20 05:14:41 -07:00
c007ce824d
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.
35 lines
692 B
Go
35 lines
692 B
Go
// Copyright 2012 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package errors_test
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
// MyError is an error implementation that includes a time and message.
|
|
type MyError struct {
|
|
When time.Time
|
|
What string
|
|
}
|
|
|
|
func (e MyError) Error() string {
|
|
return fmt.Sprintf("%v: %v", e.When, e.What)
|
|
}
|
|
|
|
func oops() error {
|
|
return MyError{
|
|
time.Date(1989, 3, 15, 22, 30, 0, 0, time.UTC),
|
|
"the file system has gone away",
|
|
}
|
|
}
|
|
|
|
func Example() {
|
|
if err := oops(); err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
// Output: 1989-03-15 22:30:00 +0000 UTC: the file system has gone away
|
|
}
|