Catch exceptions, and yield them to a block provided if available
Update docstrings and signatures