all repos — homestead @ a3c1b88144cbf10e172030c94c65571d6cc16b08

Code for my website

builder: return errors instead of panicking

Alan Pearce
commit

a3c1b88144cbf10e172030c94c65571d6cc16b08

parent

4b064374cddbde2807f04907fb8b4cc45375099c

1 file changed, 3 insertions(+), 4 deletions(-)

jump to
M internal/builder/builder.gointernal/builder/builder.go
@@ -3,7 +3,6 @@
import ( "fmt" "io" - "log" "log/slog" "net/url" "os"
@@ -175,21 +174,21 @@
func BuildSite(ioConfig IOConfig) error { config, err := config.GetConfig() if err != nil { - log.Panic(errors.Errorf("could not get config: %v", err)) + return errors.WithMessage(err, "could not get config") } config.InjectLiveReload = ioConfig.Development if ioConfig.BaseURL.URL != nil { config.BaseURL.URL, err = url.Parse(ioConfig.BaseURL.String()) if err != nil { - log.Panic(errors.Errorf("highly unlikely: %v", err)) + return errors.WithMessage(err, "could not re-parse base URL") } } if ioConfig.Development && ioConfig.Destination != "website" { err = os.RemoveAll(ioConfig.Destination) if err != nil { - log.Panic(errors.Errorf("could not remove destination directory: %v", err)) + return errors.WithMessage(err, "could not remove destination directory") } }