For that, you will need to wrap the whole loop because (in-directory ...) 
fails, and no, I don't know how to resume this optimized loop: 

#lang racket ;; foo.rkt 

(define start-dir ".")

;;
(with-handlers (((lambda (x) #t) (lambda (e) (log-warning "in-directory 
failed"))))
  (for ([f (in-directory start-dir)] #:when (regexp-match #rx"\\.rkt" f))
    (with-handlers ((exn:fail:contract? (lambda (e) (log-warning (exn-message 
e))))
                    (exn? displayln))
      (displayln (path->string f)))))



On Dec 23, 2013, at 3:06 PM, Manfred Lotz <manfred.l...@arcor.de> wrote:

> #lang racket ;; foo.rkt 
> 
> (define start-dir "/tmp/testdir")
> 
> (for ([f (in-directory start-dir)] #:when (regexp-match #rx"\\.rkt" f))
>  (with-handlers ((exn:fail:contract? (lambda (e) (log-warning
>            (exn-message e))))) 
>  (displayln (path->string f))))


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to