Browse Source

Merge remote-tracking branch 'origin/next' into jguer/local-pkgbuild-install

jguer 2 năm trước cách đây
mục cha
commit
1d2d19c323
1 tập tin đã thay đổi với 17 bổ sung4 xóa
  1. 17 4
      main.go

+ 17 - 4
main.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"os"
 	"os/exec"
+	"runtime/debug"
 
 	pacmanconf "github.com/Morganamilo/go-pacmanconf"
 	"github.com/leonelquinteros/gotext"
@@ -95,7 +96,14 @@ func main() {
 		ret = 0
 	)
 
-	defer func() { os.Exit(ret) }()
+	defer func() {
+		if rec := recover(); rec != nil {
+			text.Errorln(rec)
+			debug.PrintStack()
+		}
+
+		os.Exit(ret)
+	}()
 
 	initGotext()
 
@@ -173,7 +181,14 @@ func main() {
 		return
 	}
 
-	defer dbExecutor.Cleanup()
+	defer func() {
+		if rec := recover(); rec != nil {
+			text.Errorln(rec)
+			debug.PrintStack()
+		}
+
+		dbExecutor.Cleanup()
+	}()
 
 	if err = handleCmd(ctx, cmdArgs, db.Executor(dbExecutor)); err != nil {
 		if str := err.Error(); str != "" {
@@ -188,7 +203,5 @@ func main() {
 
 		// fallback
 		ret = 1
-
-		return
 	}
 }