diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-05-02 08:08:28 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-02 08:08:28 -0400 |
commit | b49d138cf9f1c099dda7ce50f33f79aa816d8b4e (patch) | |
tree | aaef8e0831ea34c174f17272b35458cb3895007d /mattermost.go | |
parent | 92be84762bc68ca9b5592ec33f125367e9775c2f (diff) | |
download | chat-b49d138cf9f1c099dda7ce50f33f79aa816d8b4e.tar.gz chat-b49d138cf9f1c099dda7ce50f33f79aa816d8b4e.tar.bz2 chat-b49d138cf9f1c099dda7ce50f33f79aa816d8b4e.zip |
Removing panics on config and license loading errors. Nice error messages instead. (#2829)
Diffstat (limited to 'mattermost.go')
-rw-r--r-- | mattermost.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/mattermost.go b/mattermost.go index 647899b58..172c42aa1 100644 --- a/mattermost.go +++ b/mattermost.go @@ -60,12 +60,25 @@ var flagTeamName string var flagRole string var flagRunCmds bool +func doLoadConfig(filename string) (err string) { + defer func() { + if r := recover(); r != nil { + err = r.(string) + } + }() + utils.LoadConfig(filename) + return "" +} + func main() { parseCmds() utils.InitTranslations() - utils.LoadConfig(flagConfigFile) + if errstr := doLoadConfig(flagConfigFile); errstr != "" { + l4g.Exit(utils.T("mattermost.unable_to_load_config"), errstr) + return + } if flagRunCmds { utils.ConfigureCmdLineLog() @@ -91,8 +104,7 @@ func main() { if !utils.IsLicensed && len(utils.Cfg.SqlSettings.DataSourceReplicas) > 1 { l4g.Critical(utils.T("store.sql.read_replicas_not_licensed.critical")) - time.Sleep(time.Second) - panic(fmt.Sprintf(utils.T("store.sql.read_replicas_not_licensed.critical"))) + return } if flagRunCmds { |