summaryrefslogtreecommitdiff
path: root/src/pkg/os/error.go
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-09-13 13:13:40 +0200
committerOndřej Surý <ondrej@sury.org>2011-09-13 13:13:40 +0200
commit5ff4c17907d5b19510a62e08fd8d3b11e62b431d (patch)
treec0650497e988f47be9c6f2324fa692a52dea82e1 /src/pkg/os/error.go
parent80f18fc933cf3f3e829c5455a1023d69f7b86e52 (diff)
downloadgolang-upstream/60.tar.gz
Imported Upstream version 60upstream/60
Diffstat (limited to 'src/pkg/os/error.go')
-rw-r--r--src/pkg/os/error.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/pkg/os/error.go b/src/pkg/os/error.go
new file mode 100644
index 000000000..b4511dd2f
--- /dev/null
+++ b/src/pkg/os/error.go
@@ -0,0 +1,31 @@
+// Copyright 2009 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 os
+
+// An Error can represent any printable error condition.
+type Error interface {
+ String() string
+}
+
+// // errorString is a helper type used by NewError.
+type errorString string
+
+func (e errorString) String() string { return string(e) }
+
+// Note: If the name of the function NewError changes,
+// pkg/go/doc/doc.go should be adjusted since it hardwires
+// this name in a heuristic.
+
+// // NewError returns a new error with error.String() == s.
+func NewError(s string) Error { return errorString(s) }
+
+// PathError records an error and the operation and file path that caused it.
+type PathError struct {
+ Op string
+ Path string
+ Error Error
+}
+
+func (e *PathError) String() string { return e.Op + " " + e.Path + ": " + e.Error.String() }