always catch exceptions