Current:

(defun module-provide-system (module) 
  (let ((*readtable* (copy-readtable nil)))
    (handler-case 
        (load-system-file (string-downcase (string module)))
      (t (e) 
        (unless (and (typep e 'error)
                     (search "Failed to find loadable system file"
                             (format nil "~A" e)))
          (format *error-output* "Failed to require  ~A because '~A'~%" 
                  module e))
        nil))))

First, t is too strong - warns will kill it.
Second, why not let the debugger handle it if there is an error?

-Alan