On the Ethereum Subtleties page (largely maintained by VB) it states the following under Exceptional Conditions:
- If a transaction triggers an exception, then:
- The value transfer from sender to recipient still takes place
This doesn't match my understanding, my tests or, I think, the Yellow Paper which says in section 8 (my emphasis),
if the execution halts in an exceptional fashion (i.e. due to an exhausted gas supply, stack underflow, invalid jump destination or invalid instruction)... the state is reverted to the point immediately prior to balance transfer
Interestingly, chriseth added a notice in Feb 16 to the effect that some things about reverting Ether transactions were wrong. This notice was removed in June 17 by vbuterin.
So, is the Subtleties paper just incorrect on this, or am I misunderstanding something?