From b49d138cf9f1c099dda7ce50f33f79aa816d8b4e Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 2 May 2016 08:08:28 -0400 Subject: Removing panics on config and license loading errors. Nice error messages instead. (#2829) --- mattermost.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'mattermost.go') 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 { -- cgit v1.2.3-1-g7c22