add some rules of thumb for catching exceptions, restructure the docs a bit