From 61deb08605f6e075d27290182963777f493882f5 Mon Sep 17 00:00:00 2001 From: "Harry R. Schwartz" Date: Tue, 20 Jun 2023 11:49:16 -0400 Subject: [PATCH] If a file's missing, don't panic but show error Dumping a stack trace on a typo is a bad user experience. --- corpus/corpus.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/corpus/corpus.go b/corpus/corpus.go index 2e73e27..4ea97db 100644 --- a/corpus/corpus.go +++ b/corpus/corpus.go @@ -1,8 +1,10 @@ package corpus import ( + "errors" "fmt" "io/fs" + "log" "math" "os" "path/filepath" @@ -44,7 +46,11 @@ func ParseCorpus(query *Document, paths []string, config *Config) *Corpus { for _, path := range paths { err := filepath.WalkDir(path, func(xpath string, xinfo fs.DirEntry, xerr error) error { if xerr != nil { - panic(xerr) + if errors.Is(xerr, os.ErrNotExist) { + log.Fatal("no such file or directory: ", path) + } else { + panic(xerr) + } } // Don't parse directories or symlinks (or the queried file, if so configured)