return error if catch failed