title: Either Monad and Exceptional Cases
body: <p>If I have a function returning an Either such as GetUserFromDb(int id) and the database is offline should I catch the error in the function and wrap it in a failure / Left case or should I let it bubble out as an exception as there is nothing I can do and it really is an exceptional situation.</p>
  
  <p>Comments / Suggestions welcome.</p>
  
  <p>Cheers,</p>
  
  <p>Blair</p>