@@ -12,17 +12,22 @@ ;;====================================================================== ;; Process convience utils ;;====================================================================== (define (cmd-run-proc-each-line cmd proc . params) - (let* ((fh (process cmd params))) - (let loop ((curr (read-line fh)) - (result '())) - (if (not (eof-object? curr)) - (loop (read-line fh) - (append result (list (proc curr)))) - result)))) + (handle-exceptions + exn + (begin + (print "ERROR: Failed to run command: " cmd (string-intersperse params " ")) + #f) + (let* ((fh (process cmd params))) + (let loop ((curr (read-line fh)) + (result '())) + (if (not (eof-object? curr)) + (loop (read-line fh) + (append result (list (proc curr)))) + result))))) (define (cmd-run-proc-each-line-alt cmd proc) (let* ((fh (open-input-pipe cmd)) (res (port-proc->list fh proc)) (status (close-input-pipe fh)))