The BGL defines several exception classes for reporting errors from
BGL algorithms. Many of the BGL algorithms place certain requirements
on the input graph. If these requirements are not met then the
algorithm can not successfully complete, and instead throws the
appropriate exception.