guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/08: scripts: import: json: Fix error handling.


From: guix-commits
Subject: 08/08: scripts: import: json: Fix error handling.
Date: Sun, 31 Jan 2021 15:50:35 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 60947257aeb24431ea397829c8ea49a7e26b807d
Author: zimoun <zimon.toutoune@gmail.com>
AuthorDate: Thu Jan 28 00:46:03 2021 +0100

    scripts: import: json: Fix error handling.
    
    Fixes partially <https://bugs.gnu.org/44115>.
    
    * guix/scripts/import/json.scm (guix-import-json): Handle error.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 guix/scripts/import/json.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/import/json.scm b/guix/scripts/import/json.scm
index 778e5f4..d8d5c3a 100644
--- a/guix/scripts/import/json.scm
+++ b/guix/scripts/import/json.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -88,8 +89,13 @@ Import and convert the JSON package definition in 
PACKAGE-FILE.\n"))
                            (reverse opts))))
     (match args
       ((file-name)
-       (or (json->code file-name)
-           (leave (G_ "invalid JSON in file '~a'~%") file-name)))
+       (catch 'system-error
+         (lambda ()
+           (or (json->code file-name)
+               (leave (G_ "invalid JSON in file '~a'~%") file-name)))
+         (lambda args
+           (leave (G_ "failed to access '~a': ~a~%")
+                  file-name (strerror (system-error-errno args))))))
       (()
        (leave (G_ "too few arguments~%")))
       ((many ...)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]