From 7de923d40a25796c5d2466b6eef9c8dba3366339 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Wed, 15 Apr 2015 14:14:33 -0700 Subject: [PATCH] Remove even more Fatal* calls --- appengine/appengine.go | 17 +++++++++++------ graph/gaedatastore/quadstore.go | 2 +- graph/primarykey.go | 5 +++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/appengine/appengine.go b/appengine/appengine.go index dcd363c..1f8706e 100644 --- a/appengine/appengine.go +++ b/appengine/appengine.go @@ -17,6 +17,7 @@ package main import ( + "fmt" "github.com/barakmich/glog" "os" "time" @@ -45,11 +46,11 @@ var ( timeout = 30 * time.Second ) -func configFrom(file string) *config.Config { +func configFrom(file string) (*config.Config, error) { // Find the file... if file != "" { if _, err := os.Stat(file); os.IsNotExist(err) { - glog.Fatalln("Cannot find specified configuration file", file, ", aborting.") + return nil, fmt.Errorf("Cannot find specified configuration file", file) } } else if _, err := os.Stat("/cayley_appengine.cfg"); err == nil { file = "/cayley_appengine.cfg" @@ -59,7 +60,7 @@ func configFrom(file string) *config.Config { } cfg, err := config.Load(file) if err != nil { - glog.Fatalln(err) + return nil, err } if cfg.DatabasePath == "" { @@ -92,15 +93,19 @@ func configFrom(file string) *config.Config { cfg.ReadOnly = cfg.ReadOnly || readOnly - return cfg + return cfg, nil } func init() { glog.SetToStderr(true) - cfg := configFrom("cayley_appengine.cfg") + cfg, err := configFrom("cayley_appengine.cfg") + if err != nil { + glog.Fatalln("Error loading config:", err) + } + handle, err := db.Open(cfg) if err != nil { - glog.Fatal(err) + glog.Fatalln("Error opening database:", err) } http.SetupRoutes(handle, cfg) } diff --git a/graph/gaedatastore/quadstore.go b/graph/gaedatastore/quadstore.go index 10dfb39..8a7b12d 100644 --- a/graph/gaedatastore/quadstore.go +++ b/graph/gaedatastore/quadstore.go @@ -154,7 +154,7 @@ func getContext(opts graph.Options) (appengine.Context, error) { req := opts["HTTPRequest"].(*http.Request) if req == nil { err := errors.New("HTTP Request needed") - glog.Fatalln(err) + glog.Errorln(err) return nil, err } return appengine.NewContext(req), nil diff --git a/graph/primarykey.go b/graph/primarykey.go index 1df1c51..0696055 100644 --- a/graph/primarykey.go +++ b/graph/primarykey.go @@ -84,8 +84,9 @@ func (p *PrimaryKey) Int() int64 { case sequential: return p.sequentialID case unique: - glog.Fatal("UUID cannot be cast to an int64") - return -1 + msg := "UUID cannot be cast to an int64" + glog.Errorln(msg) + panic(msg) } return -1 }