From 5ff4c17907d5b19510a62e08fd8d3b11e62b431d Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Tue, 13 Sep 2011 13:13:40 +0200 Subject: Imported Upstream version 60 --- src/pkg/os/error.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/pkg/os/error.go (limited to 'src/pkg/os/error.go') 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() } -- cgit v1.2.3