aboutsummaryrefslogtreecommitdiff
path: root/doc/progs/defer2.go
diff options
context:
space:
mode:
Diffstat (limited to 'doc/progs/defer2.go')
-rw-r--r--doc/progs/defer2.go58
1 files changed, 0 insertions, 58 deletions
diff --git a/doc/progs/defer2.go b/doc/progs/defer2.go
deleted file mode 100644
index cad66b0702..0000000000
--- a/doc/progs/defer2.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2011 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.
-
-// This file contains the code snippets included in "Defer, Panic, and Recover."
-
-package main
-
-import "fmt"
-import "io" // OMIT
-import "os" // OMIT
-
-func main() {
- f()
- fmt.Println("Returned normally from f.")
-}
-
-func f() {
- defer func() {
- if r := recover(); r != nil {
- fmt.Println("Recovered in f", r)
- }
- }()
- fmt.Println("Calling g.")
- g(0)
- fmt.Println("Returned normally from g.")
-}
-
-func g(i int) {
- if i > 3 {
- fmt.Println("Panicking!")
- panic(fmt.Sprintf("%v", i))
- }
- defer fmt.Println("Defer in g", i)
- fmt.Println("Printing in g", i)
- g(i + 1)
-}
-
-// STOP OMIT
-
-// Revised version.
-func CopyFile(dstName, srcName string) (written int64, err error) {
- src, err := os.Open(srcName)
- if err != nil {
- return
- }
- defer src.Close()
-
- dst, err := os.Create(dstName)
- if err != nil {
- return
- }
- defer dst.Close()
-
- return io.Copy(dst, src)
-}
-
-// STOP OMIT