Check out TransactionScope. It does this exact function (minus some trivial flow control) without modifying the language, which most of us view as a bad thing anyway.
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Check out TransactionScope. It does this exact function (minus some trivial flow control) without modifying the language, which most of us view as a bad thing anyway.