Advertisement
Guest User

Untitled

a guest
Jan 31st, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;A macro that should work as a try-catch clause. It should take some argument/s and return a value or an ;exception. If the code opened something it should be closed in the finally clause.
  2.  
  3. ;PROBLEM: (def v (try_catch [s (FileReader. (File "C:/text.txt"))] (. s read)))
  4. CompilerException java.lang.RuntimeException: Unable to resolve symbol: s in this context, compiling:(NO_SOURCE_PATH:1:58)
  5.  
  6. (defmacro try_catch [bindings & code]
  7.   (if (list? bindings)
  8.     `(try
  9.       ~bindings
  10.       (catch Throwable e# e#))
  11.  
  12.      `(try
  13.        ~code
  14.        (catch Throwable e# e#)
  15.        (finally (. ~@code close)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement