Propagate exception handling from sale to purchase

issue4071
review5491002