From 4feb13d28881f390b1e70ea61f872983b6ae1c9c Mon Sep 17 00:00:00 2001 From: shokara Date: Thu, 23 Dec 2021 19:15:09 +0000 Subject: [PATCH] log non-fatal errors as non-fatal git-svn-id: file:///srv/svn/repo/tokiko/trunk@6 8f5ca974-a7f8-e144-9f80-d41d5039c194 --- main.go | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index 01d6f61..5e982dd 100644 --- a/main.go +++ b/main.go @@ -37,11 +37,12 @@ func writeError(c net.Conn, msg string) { func printGophermap(c net.Conn, dir string) { file, err := os.Open(dir + "/Gophermap") if err != nil { - log.Fatal(err) + writeError(c, err.Error()) + log.Println(err) } defer func() { if err = file.Close(); err != nil { - log.Fatal(err) + log.Println(err) } }() @@ -56,11 +57,12 @@ func printGophermap(c net.Conn, dir string) { func printFile(c net.Conn, path string) { file, err := os.Open(path) if err != nil { - log.Fatal(err) + writeError(c, err.Error()) + log.Println(err) } defer func() { if err = file.Close(); err != nil { - log.Fatal(err) + log.Println(err) } }() @@ -72,7 +74,7 @@ func printFile(c net.Conn, path string) { readSz, err := file.Read(b) if err != nil { if err != io.EOF { - log.Fatal(err) + log.Println(err) } break } @@ -84,7 +86,7 @@ func printFile(c net.Conn, path string) { func connHandle(c net.Conn) { data, err := bufio.NewReader(c).ReadString('\n') if err != nil { - log.Fatal(err) + log.Println(err) return } @@ -97,7 +99,11 @@ func connHandle(c net.Conn) { } else if selector[0] == '/' { info, err := os.Stat(selector[1:]) if err != nil { - log.Fatal(err) + writeError(c, err.Error()) + log.Println(err) + + c.Close() + return } if info.IsDir() { @@ -128,7 +134,7 @@ func main() { for { c, err := l.Accept() if err != nil { - log.Fatal(err) + log.Println(err) return }