better api doc, catching exchange exceptions