Archived
1
0

Introduces error management helpers

This commit is contained in:
Jip J. Dekker 2016-03-16 22:54:01 +01:00
parent 2470ae13e0
commit 794a032aaf
2 changed files with 35 additions and 9 deletions

View File

@ -43,9 +43,7 @@ Init will not use an existing directory with contents.`,
default:
log.Fatal("init command does not support more than 1 parameter")
}
if err != nil {
log.WithFields(log.Fields{"error": err}).Fatal("Given path is invalid")
}
helpers.Check(err, "Given path is invalid")
initializePath(path)
},
@ -53,14 +51,11 @@ Init will not use an existing directory with contents.`,
func initializePath(path string) {
b, err := helpers.Exists(path)
if err != nil {
log.WithFields(log.Fields{"error": err}).Fatal("Error while checking file")
}
helpers.Check(err, "Error while checking file")
if !b {
err := os.MkdirAll(path, os.ModePerm)
if err != nil {
log.WithFields(log.Fields{"error": err}).Fatal("Could not create directory")
}
helpers.Check(err, "Could not create directory")
}
// createSettings()

31
helpers/error_utils.go Normal file
View File

@ -0,0 +1,31 @@
// Copyright © 2016 Jip J. Dekker <jip@dekker.li>
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package helpers
import log "github.com/Sirupsen/logrus"
// Crash outputs it's arguments to the log and stops the program
func Crash(err error, msg string) {
log.WithFields(log.Fields{
"error": err,
}).Fatal(msg)
}
// Check calls Crash if the error is not nil
func Check(err error, msg string) {
if err != nil {
Crash(err, msg)
}
}