From 5bc0e7d4bf2b55f7c62c98ae8ae268fbe53b30f0 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 8 Mar 2019 08:22:52 +0000 Subject: [PATCH] Add some catch all error handling to fetch-build-for-derivation --- guix-data-service/builds.scm | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/guix-data-service/builds.scm b/guix-data-service/builds.scm index 4fbdd44..754ef89 100644 --- a/guix-data-service/builds.scm +++ b/guix-data-service/builds.scm @@ -72,18 +72,26 @@ (select-derivations-with-no-known-build conn))) (define (fetch-build-for-derivation url derivation-file-name) - (match (fetch-latest-builds-for-derivation url derivation-file-name) - ((or #f #()) - (match (fetch-queued-builds-for-derivation url derivation-file-name) - ((or #f #()) - (simple-format #t "\nwarning: couldn't find build for ~A on ~A\n" - derivation-file-name - url) - #f) - (#(status) - status))) - (#(status) - status))) + (catch + #t + (lambda () + (match (fetch-latest-builds-for-derivation url derivation-file-name) + ((or #f #()) + (match (fetch-queued-builds-for-derivation url derivation-file-name) + ((or #f #()) + (simple-format #t "\nwarning: couldn't find build for ~A on ~A\n" + derivation-file-name + url) + #f) + (#(status) + status))) + (#(status) + status))) + (lambda args + (simple-format #t "\nerror: couldn't fetch build for ~A on ~A\n" + derivation-file-name url) + (simple-format #t "error: ~A\n" args) + #f))) (define (json-string->scm* string) (catch