Exception thrown when we're not ignoring warnings.
If such an exception is thrown, the operation completed,
so we will need to explicitly roll it back if we're not happy
on looking at the warning. We might choose to ignore (or merely log)
the warning and throw the exception away.