2 The Barry library has the following exception hierarchy:
11 - Barry::SocketCloseOnOpen
14 - Barry::ConfigFileError
16 - Barry::ConfigFileError
17 - Barry::BadPackedFormat
23 - Barry::JDWP::Timeout
25 - Barry::ReturnCodeError
28 All specific USB error exceptions will be derived from
29 this class. Where possible, this class also stores the
30 specific return code from the libusb API, to allow
31 fine grained error handling.
34 All specific Barry error exceptions will be derived from
35 this class. This can be thrown from anywhere inside Barry.
38 There is also the remote possibility that there will be memory
39 exceptions from a call to 'new'. In that case, std::bad_alloc
40 will be thrown by the standard C++ libraries. Barry does not
44 Assert-like errors will cause std::logic_error to be thrown.
45 Barry does sometimes throw these, but they should be be
48 All of the above exceptions (from std, Barry, and Usb namespaces)
49 are derived from std::exception, so they can all be caught in one
50 statement for the efficient and lazy. :-)