Where applicable: If the function throws an exception, the state of the program is rolled back to the state just before the function call.
Where applicable: If the function throws an exception, the state of the program is rolled back to the state just before the function call.