From 1aa6ac2a7a747405c1bc993ebbcca9cb47e20e26 Mon Sep 17 00:00:00 2001 From: Maciek Niemczyk Date: Mon, 17 Jun 2019 15:13:11 +0200 Subject: [PATCH] those files has been changed after running tools/build --- examples/defer/defer.hash | 4 ++-- public/defer | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/examples/defer/defer.hash b/examples/defer/defer.hash index 2994617..5e437d4 100644 --- a/examples/defer/defer.hash +++ b/examples/defer/defer.hash @@ -1,2 +1,2 @@ -570699fc50a1d39e9d0ad6a4461aef3248b080e1 -xPbQ5SGkH2O +4e2229c593e102d4efd101a7e9aa21f3345e90d1 +S2RuPTkABip diff --git a/public/defer b/public/defer index 43445ec..8f0b130 100644 --- a/public/defer +++ b/public/defer @@ -30,7 +30,7 @@ purposes of cleanup. defer is often used where e.g. - +
package main
@@ -132,15 +132,31 @@ of the enclosing function (main), after
           
         
         
+        
+          
+            

It is important to check for errors when closing a file, even in a deferred function.

+ + + + +
func closeFile(f *os.File) {
+    fmt.Println("closing")
+    err := f.Close()
+
+ + + + -
func closeFile(f *os.File) {
-    fmt.Println("closing")
-    f.Close()
+            
    if err != nil {
+        fmt.Fprintf(os.Stderr, "error: %v\n", err)
+        os.Exit(1)
+    }
 }