On Sunday, August 24, 2014 7:30:23 PM UTC+12, Yehonathan Sharvit wrote:
> I would like to catch exceptions that occur inside a go block. I need to 
> catch the exceptions from outside the go block.
> 
> I tried to write this piece of code but it didn't work. The exception was not 
> caught.
> 
> (try
>   (go 
>    (throw (js/Error."My Exception in go block")))
>   (catch js/Object e
>     (println "exception caught: " e)))
> 
> 
> Any idea?

I think you are misunderstanding how go blocks work. The code which runs when 
the (go ...) block is encountered is just scheduling the contents of the go 
block to be run when the code returns to the browser loop.

Imagine it as something like this

(try (go xxx) (catch yyy))
gets converted to 
(try (. js/window setTimeout (fn [] xxx)) (catch yyy))

Then you can see why the exception wasn't caught how you expect.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to