If any connections encountered exceptions, a GroupException is raised,
which is a thin wrapper around what would otherwise have been the
GroupResult returned; within that wrapped GroupResult, the
excepting connections map to the exception that was raised, in place of a
Result (as no Result was obtained.) Any non-excepting connections
will have a Result value, as normal.

For example, when no exceptions occur, a session might look like this:

With exceptions (anywhere from 1 to “all of them”), it looks like so; note
the different exception classes, e.g. UnexpectedExit
for a completed session whose command exited poorly, versus
socket.gaierror for a host that had DNS problems: