Throw exception on precondition failure.
Fixes #7967.

git-svn-id: http://svn.boost.org/svn/boost/trunk@83952 b8fc166d-592f-0410-95f2-cb63ce0dd405
Fix formatting.
Refs #8377.

git-svn-id: http://svn.boost.org/svn/boost/trunk@83953 b8fc166d-592f-0410-95f2-cb63ce0dd405