catch exception and return to caller