blob: 0e86828f4ec9469dcf4d4d81e2bdd79de0752708 [file] [log] [blame]
Colin Cross7bb052a2015-02-03 12:59:37 -08001// Copyright 2012 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
5package errors_test
6
7import (
8 "fmt"
9 "time"
10)
11
12// MyError is an error implementation that includes a time and message.
13type MyError struct {
14 When time.Time
15 What string
16}
17
18func (e MyError) Error() string {
19 return fmt.Sprintf("%v: %v", e.When, e.What)
20}
21
22func oops() error {
23 return MyError{
24 time.Date(1989, 3, 15, 22, 30, 0, 0, time.UTC),
25 "the file system has gone away",
26 }
27}
28
29func Example() {
30 if err := oops(); err != nil {
31 fmt.Println(err)
32 }
33 // Output: 1989-03-15 22:30:00 +0000 UTC: the file system has gone away
34}