<html><body>I really like to be able to find these things in documentation and if 
not documentation than source code.&nbsp; However thank you for your reply, 
in this case it has helped me :)<br><br>Timothy<p><br>---------- Původní zpráva ----------<br>Od: Simon Hengel &lt;sol@typeful.net&gt;<br>Datum: 7. 11. 2012<br>Předmět: Re: [Haskell-cafe] Where is the documentation on exception types kept?</p><blockquote>Hi,<br><br>&gt; I am trying to catch an "thread blocked on MVar indefinitely exception."&nbsp; Of<br>&gt; course I can use ::SomeException as explained in <a href="http://hackage.haskell.org/">http://hackage.haskell.org/</a><br>&gt; packages/archive/base/latest/doc/html/Control-Exception.html#g:3 but there <br>&gt; is no explanation as to how to find the more case specific exceptions.&nbsp; <br>&gt; <a href="http://hackage.haskell.org/packages/archive/base/latest/doc/html/Control-">http://hackage.haskell.org/packages/archive/base/latest/doc/html/Control-</a><br>&gt; Concurrent-MVar.html#t:MVar does not discuss exceptions at all!&nbsp; Indeed, I <br>&gt; don't know of any haddock pages that include descriptions of exception types<br>&gt; :( :O<br><br>In this particular case it's easy:<br><br><a href="http://hackage.haskell.org/packages/archive/base/4.6.0.0/doc/html/Control-Exception.html#t:BlockedIndefinitelyOnMVar">http://hackage.haskell.org/packages/archive/base/4.6.0.0/doc/html/Control-Exception.html#t:BlockedIndefinitelyOnMVar</a><br><br>But in general, figuring out the exception type is not straight forward.<br>Personally, I think an uncaught exception should print the type of that<br>exception (e.g. use a derived show instance).  But most of them have a<br>show instance that is useful for end-users.<br><br>The upcoming 1.4.0 release of Hspec will print the type of uncaught<br>exceptions in test cases.  So if you are into BDD/TDD that might be<br>useful;)<br><br>Cheers,<br>Simon</blockquote></body></html>