added catch and finally blocks to forall to ensure failing cases are returned