2 The Barry library has the following exception hierarchy:
12 All specific USB error exceptions will be derived from
13 this class. Where possible, this class also stores the
14 specific return code from the libusb API, to allow
15 fine grained error handling.
18 All specific Barry error exceptions will be derived from
19 this class. This can be thrown from anywhere inside Barry.
22 There is also the remote possibility that there will be memory exceptions
23 from a call to 'new'. In that case, std::bad_alloc will be thrown
24 by the standard C++ libraries. Barry does not catch these errors.
26 All of the above exceptions are derived from std::exception, so they
27 can all be caught in one statement for the efficient and lazy. :-)