github.com/richardwilkes/toolbox@v1.121.0/fatal/fatal.go (about) 1 // Copyright (c) 2016-2024 by Richard A. Wilkes. All rights reserved. 2 // 3 // This Source Code Form is subject to the terms of the Mozilla Public 4 // License, version 2.0. If a copy of the MPL was not distributed with 5 // this file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 // 7 // This Source Code Form is "Incompatible With Secondary Licenses", as 8 // defined by the Mozilla Public License, version 2.0. 9 10 package fatal 11 12 import ( 13 "github.com/richardwilkes/toolbox" 14 "github.com/richardwilkes/toolbox/atexit" 15 "github.com/richardwilkes/toolbox/errs" 16 ) 17 18 // IfErr checks the error and if it isn't nil, calls fatal.WithErr(err). 19 func IfErr(err error) { 20 if !toolbox.IsNil(err) { 21 WithErr(err) 22 } 23 } 24 25 // WithErr logs the error and then exits with code 1. 26 func WithErr(err error) { 27 errs.Log(err) 28 atexit.Exit(1) 29 }