diff options
Diffstat (limited to 'usr/austin/eval/abort.go')
| -rw-r--r-- | usr/austin/eval/abort.go | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/usr/austin/eval/abort.go b/usr/austin/eval/abort.go deleted file mode 100644 index 38ad2bf62..000000000 --- a/usr/austin/eval/abort.go +++ /dev/null @@ -1,91 +0,0 @@ -// 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 eval - -import ( - "fmt"; - "os"; - "runtime"; -) - -// Abort aborts the thread's current computation, -// causing the innermost Try to return err. -func (t *Thread) Abort(err os.Error) { - if t.abort == nil { - panicln("abort:", err.String()); - } - t.abort <- err; - runtime.Goexit(); -} - -// Try executes a computation; if the computation -// Aborts, Try returns the error passed to abort. -func (t *Thread) Try(f func(t *Thread)) os.Error { - oc := t.abort; - c := make(chan os.Error); - t.abort = c; - go func() { - f(t); - c <- nil; - }(); - err := <-c; - t.abort = oc; - return err; -} - -type DivByZeroError struct {} - -func (DivByZeroError) String() string { - return "divide by zero"; -} - -type NilPointerError struct {} - -func (NilPointerError) String() string { - return "nil pointer dereference"; -} - -type IndexError struct { - Idx, Len int64; -} - -func (e IndexError) String() string { - if e.Idx < 0 { - return fmt.Sprintf("negative index: %d", e.Idx); - } - return fmt.Sprintf("index %d exceeds length %d", e.Idx, e.Len); -} - -type SliceError struct { - Lo, Hi, Cap int64; -} - -func (e SliceError) String() string { - return fmt.Sprintf("slice [%d:%d]; cap %d", e.Lo, e.Hi, e.Cap); -} - -type KeyError struct { - Key interface {}; -} - -func (e KeyError) String() string { - return fmt.Sprintf("key '%v' not found in map", e.Key); -} - -type NegativeLengthError struct { - Len int64; -} - -func (e NegativeLengthError) String() string { - return fmt.Sprintf("negative length: %d", e.Len); -} - -type NegativeCapacityError struct { - Len int64; -} - -func (e NegativeCapacityError) String() string { - return fmt.Sprintf("negative capacity: %d", e.Len); -} |
