From ea4b1a7de46a2d0496a40cfc5fffa0cb0cc43704 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Tue, 6 Jun 2023 22:09:59 +0200 Subject: [PATCH] Start wrapping errors. --- helpers.go | 8 ++++---- main.go | 11 ++++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/helpers.go b/helpers.go index a91a832..e65cb94 100644 --- a/helpers.go +++ b/helpers.go @@ -28,22 +28,22 @@ func validUTF8(s string) string { func validURI(s string) (*url.URL, error) { // Check if URI is valid uri, err := url.ParseRequestURI(s) - return uri, err + return uri, fmt.Errorf("validURI: %w", err) } func readFile(path string) (*bytes.Buffer, error) { file, err := os.Open(path) if err != nil { - return nil, err + return nil, fmt.Errorf("readFile: %w", err) } buffer := new(bytes.Buffer) _, err = buffer.ReadFrom(file) if err != nil { - return nil, err + return nil, fmt.Errorf("readFile: %w", err) } err = file.Close() if err != nil { - fmt.Println(" error while closing file:", err) + fmt.Println("error while closing file:", err) } return buffer, nil } diff --git a/main.go b/main.go index 066c439..c2a3f2f 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ package main import ( "bufio" "crypto/tls" + "errors" "fmt" "io" "log" @@ -38,13 +39,13 @@ func readMessage(messageFilePath string) (string, error) { // Check that message file is existing. _, err = os.Stat(messageFilePath) if os.IsNotExist(err) { - return output, err + return output, fmt.Errorf("readMessage: %w", err) } // Open message file. file, err := os.Open(messageFilePath) if err != nil { - return output, err + return output, fmt.Errorf("readMessage: %w", err) } scanner := bufio.NewScanner(file) scanner.Split(bufio.ScanLines) @@ -56,9 +57,9 @@ func readMessage(messageFilePath string) (string, error) { } } - if err := scanner.Err(); err != nil { + if err := scanner.Err(); errors.Unwrap(err) != nil { if err != io.EOF { - return "", err + return "", fmt.Errorf("readMessage: %w", err) } } @@ -67,7 +68,7 @@ func readMessage(messageFilePath string) (string, error) { fmt.Println("error while closing file:", err) } - return output, err + return output, fmt.Errorf("readMessage: %w", err) } func main() {