8.0 port sale_exceptions

As context is now a frozen dict, I think it's needed, isn't it?